不能在recyclerview中工作-为什么?

时间:2018-11-19 09:21:27

标签: android

嗨,我有一个主recyclerview设置为垂直,并且在该recyclerview内部,我还有另一个recyclerview,设置为水平和内部水平,recyclerview我有imageview和textview的cardview,我目前正在为Android电视制作布局,因此为了使用此代码,我必须在cardview中添加焦点,以便用户可以轻松浏览卡片,但问题是如果我要添加

android:focusable="true"

在我的cardview中什么都没有用,我的猜测是因为我有2个recyclerviews,这就是为什么cardview没有获得关注的任何想法。

这是我的代码

这是我的主要回收站视图

<androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/recyclerviewMainCarousels"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:descendantFocusability="afterDescendants"/>

这是我的第二个回收站视图

<androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerviewCarousel"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:descendantFocusability="beforeDescendants"/>

这是我的卡片视图

<androidx.cardview.widget.CardView
        android:id="@+id/bollyAlbumCardView"
        android:foreground="?android:attr/selectableItemBackground"
        app:cardBackgroundColor="@android:color/transparent"
        app:cardElevation="0dp"
        app:contentPadding="3dp"
        app:cardUseCompatPadding="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:focusable="true"
        android:focusableInTouchMode="true">

        <LinearLayout
            android:padding="0dp"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <RelativeLayout
                android:layout_gravity="center_horizontal"
                android:layout_width="180dp"
                android:layout_height="180dp">

                <com.hirazo.utilities.HZImageView
                    android:id="@+id/image"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    tools:ignore="ContentDescription"
                    android:scaleType="fitXY" />

                <ImageView
                    android:id="@+id/playIcon"
                    android:visibility="gone"
                    android:layout_centerInParent="true"
                    android:src="@drawable/icon_play_new"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />

            </RelativeLayout>

            <TextView
                android:textSize="12sp"
                android:id="@+id/title"
                android:paddingTop="8dp"
                android:maxLines="2"
                android:ellipsize="marquee"
                android:layout_width="match_parent"
                android:layout_height="45dp"
                android:textColor="#fff" />

        </LinearLayout>

    </androidx.cardview.widget.CardView>

1 个答案:

答案 0 :(得分:0)

您必须将此行代码添加到某处(适配器?)

textView.setSelected(true);