我想改变Long Press上Card View的背景,我访问了这么多论坛,但没有人给出正确的答案。
那么,如何改变列表/卡片/回收器视图的背景,就像长按导航视图项目一样??
如果您使用RecyleView
。您必须在RecyleView
的Adapter
上使用onLongClickListener()
事件。就像-
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
final ViewHolder holder = (ViewHolder) holder;
//go news details fragment
holder.newsContentLayout.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public void onLongClick(View v) {
// change you cardview background
holder.cvCardView.setImageDrawable(holder.cvCardView.getContext().getResources()
.getDrawable(R.drawable.bg_cardview));
}
});
}
如果使用ListView,则可以通过-
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
CardView cardView = (CardView) view.findViewById(R.id.cardview);
cardView.setBackgroundDrawable(getApplicationContext().getResources().getD rawable(R.drawable.background));
return false;
}
});
我猜,您正试图在CardView上实现连锁反应。要实现这一点,请在xml格式的CardView中添加以下属性:
android:foreground="?android:attr/selectableItemBackground"
android:clickable="true"
希望这有帮助。来源
我有自定义。我在我的中使用的。我试图按位置更改项目背景颜色(也更改Textview的文本颜色)这是我源 当我在项目点击中运行我的应用程序时,我可以更改背景颜色,但当我选中另一个项目时,第一个项目的背景是相同的。简单地说,我只想在每次单击时更改一个项目的背景。 我怎样才能解决我的问题?
我有一个清单,我在回收商的视图中展示了这一点 一些项目有蓝色背景和其他项目有灰色背景 我想编辑所选项目背景(所选项目表示已单击的项目) 这是我的适配器类
在这里我有项目的列表在回收器视图这是取自Firebase.所以我试图改变其背景颜色当用户点击它.但是当我点击项目1然后项目4背景颜色也得到改变.如果点击项目2然后项目8颜色也.它给不恰当的结果。 视图持有者类
我有一个这里提到的类似用例。我想将SWT表格项目选择背景颜色从默认的灰色或蓝色更改为其他颜色。我尝试使用StyledCellLabelProvider#update方法,但没有用。它只是将所有表项的背景色更新为给定的颜色。但我需要它只用于选定的项目。下面是我的标签提供程序更新方法的代码段 提前感谢您的帮助!
本文向大家介绍使用CSS更改按钮的背景色,包括了使用CSS更改按钮的背景色的使用技巧和注意事项,需要的朋友参考一下 要更改按钮的背景色,请使用background-color属性。 您可以尝试运行以下代码来更改按钮的背景色 示例
我已经创建了一个类,它扩展了。在该类中,当我按下一个按钮时,我想更改一个按钮的背景,该按钮被放置在主活动中。 我试图创建一个内部类来访问Main Active对象,但我得到的是这个错误: 尝试在空对象引用上调用虚拟方法android.content.pm.Application ationInfoandroid.content.Context.getApplication ationInfo()