单击Recyclerview上的文本以展开

时间:2017-04-07 09:46:54

标签: android android-recyclerview textview

我有一个像Instagram UI一样的Recyclerview。我想为图像下方的文本设置一个onclick监听器,以便在单击时展开,再次单击时折叠,就像Instagram应用程序一样。下面是它的样子。

Cardview

所以当" lorem ipsum"单击文本,它应该展开并显示文本的其余部分。当再次点击时,它应该崩溃。

这就是我在CardView.xml中编写TextView的方法

<TextView
        android:id="@+id/mCardDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="4dp"
        android:layout_marginRight="10dp"
        android:layout_marginStart="4dp"
        android:maxLines="2"
        android:text="Lorem ipsum dolor sit amet, consectetur adipiscing 
        elit, sed do eiusmod tempor incididunt ut labore et dolore magna 
        aliqua. Ut enim ad minim veniam, quis nostrud exercitation"
         />

真的需要帮助。谢谢。

2 个答案:

答案 0 :(得分:1)

在onBindViewHolder中,您可以为要展开或折叠的特定文本视图设置单击侦听器。在下面的代码中,rh是你的行持有者对象,expandable是你的布尔值,用于检查当前文本是否被扩展。如果您有任何问题,请告诉我。

onBindViewHolde(....){
rh.readMoreTxt.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        if (!rh.expandable) {
                            rh.expandable = true;
                            rh.readMoreTxt.setText("Show less");
                        } else {
                            rh.expandable = false;

                            rh.readMoreTxt.setText("Show more");
                        }
                    }
                });
}

答案 1 :(得分:0)

此代码将解决您的问题。

private boolean isVisible;

    textView.setOnClickListener(new View.OnClickListener() {
    isVisible = !isVisible;
        @Override
        public void onClick(View v) {
            if(isVisible) {
            //Make VISIBLE visibility of your view
            } else {
            //Make GONE visibility of your view
            }
    });