我有以下CardView
:
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="expandCollapse">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="18sp"
android:text="Heading Goes Here" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:srcCompat="@drawable/ic_action_down" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="Description Goes Here"
android:visibility="gone" />
</LinearLayout>
</android.support.v7.widget.CardView>
现在,有很多这些卡片视图,所以我想让我的expandCollapse
函数与所有这些一起工作。
所以基本上,当点击CardView
时,我希望它显示或隐藏Description Goes Here
TextView
,具体取决于它当前的可见性。它可以是GONE
或VISIBLE
。我还希望它根据当前的可见性更改ImageView
箭头。
基本上我只想让这张卡展开/折叠其中的textview。我知道怎么做,但我不知道如何在我的函数内动态选择子TextView
。
在点击卡片时,如何选择此TextView
,考虑到我不会为其指定id
,因为我希望这可以与许多不同的CardView
一起使用完全相同的布局?
答案 0 :(得分:0)
我明白了。
我只是使用android:tag="desc"
然后我在onClick函数中使用了TextView textView = view.findViewWithTag("desc");
。