单击时添加recyclerview元素的选择效果

时间:2018-06-26 17:54:21

标签: android android-recyclerview

我想在我的recyclerview中添加选择效果,但是它不起作用。我尝试添加focusable="true"clickable="true",但这似乎仍然无效。

这是我的recyclerview的膨胀文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:orientation="horizontal"
android:padding="10dp">

<ImageView
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:id="@+id/ivFish"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="fish name"
    android:id="@+id/textFishName"
    android:layout_marginLeft="5dp"
    android:layout_toRightOf="@id/ivFish"
    android:layout_toLeftOf="@+id/textPrice"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="price"
    android:id="@+id/textPrice"
    android:textColor="@color/colorAccent"
    android:layout_alignParentRight="true"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Small Text"
    android:id="@+id/textSize"
    android:layout_marginLeft="5dp"
    android:layout_below="@id/textFishName"
    android:layout_toRightOf="@id/ivFish"
    android:layout_toEndOf="@id/ivFish"
    android:textColor="#666"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="sd"
    android:id="@+id/textType"
    android:layout_marginLeft="5dp"
    android:layout_below="@id/textSize"
    android:layout_toRightOf="@id/ivFish"
    android:textColor="#666"/>
<ImageView
    android:id="@+id/like"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:background="?attr/selectableItemBackground"
    android:src="@drawable/ic_like" />

<TextView
    android:id="@+id/post_num_stars"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toStartOf="@+id/like"
    android:layout_toLeftOf="@+id/like"
    android:gravity="center"
    tools:text="0" />

我的MainActivity中有这个

recyclerView.addOnItemTouchListener(
            new RecyclerItemClickListener(MainActivity.this, recyclerView ,new RecyclerItemClickListener.OnItemClickListener() {
                @Override public void onItemClick(View view, int position) {
                    Toast.makeText(MainActivity.this, "text", Toast.LENGTH_LONG).show();
                    // do whatever
                }

                @Override public void onLongItemClick(View view, int position) {
                    // do whatever
                }
            })
    );

当我在recyclerview中单击某个项目时,没有任何可见效果。您能帮我了解我的代码有什么问题吗?

0 个答案:

没有答案