有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java单击RecyclerView项更改其样式

正如标题所说,当我点击里面的按钮或点击RecyclerView项目时,我想改变RecyclerView项目的样式(不是所有项目,只是点击一个)。 应该是这样的

enter image description here

单击任何按钮后,隐藏透明覆盖并对该项目执行操作


共 (1) 个答案

  1. # 1 楼答案

    您好,我做了类似的事情,我有一个回收视图,当点击一个项目时,我需要更改背景,我所做的是: 在ViewHolder构造函数中,我添加了一个简单的OnClickListener

    public NoteViewHolder(View view) {
            super(view);
            name = view.findViewById(R.id.name);
    
            view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (view.isSelected())
                        view.setSelected(false);
                    else
                        view.setSelected(true);
    
                    Log.d(TAG, "Clicked!");
                }
            });
        }
    

    此时,项目的状态将在选定和未选定状态之间切换。现在,您可以为背景添加一个选择器,在我的例子中,回收项目布局如下所示:

    <?xml version="1.0" encoding="utf-8"?>
      <TextView android:id="@+id/name"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:text="nome"
      android:gravity="center"
      android:background="@drawable/selected_background"
      xmlns:android="http://schemas.android.com/apk/res/android"
    />
    

    虽然选定的背景是。。。好吧,一个选择器!这是:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
         <item android:state_selected="true" android:drawable="@color/selected"/>
    </selector>
    

    当项目处于选定状态时,背景将更改为“选定”颜色中指定的背景,或者您可以传递可绘制的图像等

    在设置一个项目的选定状态的同时,可以取消选择其他项目

    希望能有帮助