正如标题所说,当我点击其中的按钮或者在RecyclerView项目上时,我想要更改RecyclerView项目样式(而不是仅仅点击所有项目)。 它应该看起来像
点击任何按钮后,隐藏透明覆盖并对该项目执行操作
答案 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,图像等...
同时在一个项目上设置选定状态,您可以取消选择其他项目。
希望它有所帮助。