我使用这个类在ImageView上绘制TriangleShapeView,它在用户单击事件时改变它的颜色和可绘制的图像。
在RecyclerView onBindViewHolder方法中,我检查feedModel.isSubscribed()
,然后相应地设置TriangleShapeView颜色和可绘制图像:
public void onBindViewHolder(FeedViewHolder holder, final int position) {
final FeedModel feedModel =this.feedCollection.get(position);
if (feedModel.isSubscribed()) {
holder.mTrView.setBackgroundColor(Color.RED);
holder.mTrView.setDrawable(holder.mTrView.getContext().getResources().getDrawable(R.drawable.ic_check));
} else {
holder.mTrView.setBackgroundColor(Color.BLACK);
holder.mTrView.setDrawable(holder.mTrView.getContext().getResources().getDrawable(R.drawable.ic_plus));
}
在setOnClickListener中:
holder.itemView.setOnClickListener(v -> {
if (FeedAdapter.this.onItemClieckListener != null){
FeedAdapter.this.onItemClieckListener.onFeedItemClicked(feedModel);
if (feedModel.isSubscribed()) {
feedModel.setIsSubscribed(false);
notifyItemChanged(position);
} else {
feedModel.setIsSubscribed(true);
notifyItemChanged(position);
}
}
});
当项目第一次加载时,这可以正常工作,但当用户单击时:
-第一个
我使用下面的xml布局来扩展这个自定义视图:
<cardView
<RelativeLayout
....
<com.xxx.TriangleShapeView
android:id="@+id/trView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:elevation="15dp"
TriangleShapeView:imgPadding="5dp"
TriangleShapeView:triangleBackground="@color/cardview_dark_background"
TriangleShapeView:img="@drawable/ic_plus"/>
我相信,一旦OnClick被调用,FeedModel就会更新,并且在onBindViewHoldr方法中检查是可以的。所以我认为问题出在上面链接中提到的类中。
我希望实现的是:如果feedModel。已订阅,然后将颜色更改为红色并可绘制以查看标志图标。否则,保留布局xml中的初始值。
也对点击做出反应并更改颜色和图像
我认为你是对的,这个方法有错误。
public void setBackgroundColor(int backgroundColor) {
this.backgroundColor = backgroundColor;
invalidate();
}
在构造函数和onDraw方法中分配油漆颜色。
尝试在invalidate()
之前向该方法添加带有paint.setColor(backgroundColor)的行
我试图理解编译器在这里抱怨的原因: 使用编译时生成的消息 如下: cexpr_test.cpp:在函数 'int main()' 中: cexpr_test.cpp:12:76: error: 'const std::initializer_list{((const char* const*)( 令人困惑的是,为什么它会毫无问题地构造第一个初始值设定项列表。我在这里缺少什么?
问题内容: 给定一个数组,返回最后一个对象。例如: 在研究此问题时,除了这篇看似无关的SO帖子,我无法找到其他东西,这使我发现这是numpy中的一个公开错误(截至2015年3月):第一个报告和更相关的问题。发布此信息,以便其他人对此有所了解,可以更有效地找到此信息。 问题答案: 在版本,并表现为经典短路逻辑和/或功能。想到LISP行为。Python和运算符可以做到这一点。 一些例子: 返回逻辑上为
我有以下代码来解析一个JSON文件: 要处理以下JSON文件: 如果我执行此代码,我将收到以下错误: 所以我开始一步一步地调试应用程序,看看part processing()中的哪个代码部分抛出了这个异常。令人惊讶的是,那里的所有代码都正常执行:没有抛出异常,也没有返回结果I except。 更让我惊讶的是,当我稍微改变第一种方法的代码时,它可以在不产生异常的情况下工作。 我不知道println方
我在http://www.nodebeginner.org上读了一篇教程,我在数据输出中有一个奇怪的行为。我知道,Stackoverflow也有类似的问题,但没有答案。所以我有这个Web-Server的代码: 调用RequestHandler.Upload的Router.js代码-我的buggy函数 和RequestHandler.Upload的代码 假设POST数据中有一个字符串。该函数的第一行
我有一个使用flowless项目的JavaFX列表。但是我得到了一个奇怪的边框(我没有启用任何边框,并且强制边框具有width=0px),它存在并且具有渐变效果: 当我将单元格background-inset设置为-1时,边框就没有了,所以我相信这个问题与背景有关。虽然这不是一个解决方案,因为如果我启用了边框(这是我想要的),渐变效果仍然存在。 有人知道我怎样才能摆脱这个边界吗? 谢谢!
我不明白它是如何工作的 Spring的事务注释。所以我做了下一个测试,没有实际意义,但我它显示了我的问题: 方法,transaction必需/code>)可以正常工作。其他两个返回消息No existing transaction found for transactions marked with propagation‘mandatory’。 但是如果一个非事务性方法调用一个事务性方法(用注释