单击RecyclerView项目可更改其样式

时间:2017-12-02 14:23:38

标签: java android android-recyclerview

正如标题所说,当我点击其中的按钮或者在Rec​​yclerView项目上时,我想要更改RecyclerView项目样式(而不是仅仅点击所有项目)。 它应该看起来像

enter image description here

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

1 个答案:

答案 0 :(得分:1)

你好我做了类似的事情,我有一个recyclerview,我需要在点击一个项目时改变背景,我做的是这样的: 在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"
/>

虽然selected_background是......很好的选择器!这是:

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

当项目处于选定状态时,背景将更改为&#34;选择&#34;中指定的背景。颜色,或者你可以通过一个drawable,图像等...

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

希望它有所帮助。