当前位置: 首页 > 知识库问答 >
问题:

长按时更改项目背景

安泰平
2023-03-14

我想改变Long Press上Card View的背景,我访问了这么多论坛,但没有人给出正确的答案。

那么,如何改变列表/卡片/回收器视图的背景,就像长按导航视图项目一样??

共有2个答案

隆选
2023-03-14

如果您使用RecyleView。您必须在RecyleViewAdapter上使用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;
                }
            });
王庆
2023-03-14

我猜,您正试图在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()