LinearLayout中 Textview要点击两次才实现点击事件?

LinearLayout中 Textview点击两次才实现点击事件

我想做一个展开收起的功能 我用的是 Textview来显示展开和收起的工作

现在的效果是 要点击两次在会出现展开功能 点完一次展开收起后 可正常点击展开收起

试过在展开的TextView框中加入
android:focusableInTouchMode="false"
android:duplicateParentState="true"
android:focusable="false"

都没什么效果
个人基础不是很好 不知道是哪方面出现了问题 还请各位帮忙看看 谢谢啦

这个xml布局代码
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">

        <LinearLayout
            android:id="@+id/showall"
            android:layout_width="@dimen/x580"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

        <TextView
            android:id="@+id/tv_jiexi1"
            android:layout_width="@dimen/x580"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/x33"
            android:layout_marginRight="@dimen/x_100"
            android:text="解析"
            android:textColor="@color/color_text"
            android:textSize="@dimen/x28" />

    </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_more"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/x33"
                android:layout_marginLeft="@dimen/x1"
                android:text="展开"
                android:textColor="@color/color_text"
                android:textSize="@dimen/x28"          
                />
        </LinearLayout>

    </LinearLayout>

            这是适配器页面的实现代码


   @BindView(R.id.tv_more)
    TextView tvMore;
    @BindView(R.id.showall)
    LinearLayout tvShowAll;

             holder.tvMore.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v)
        {

            if(holder.tvMore.getText()=="展开")
            {
                holder.tvShowAll.setVisibility(View.VISIBLE);
                holder.analyze.setText("解析:" + list.get(position).getAnalyze());
                holder.tvMore.setText("收起");

            }
            else{
                holder.tvShowAll.setVisibility(View.VISIBLE);
                holder.analyze.setText("解析:" + list.get(position).getAnalyze().substring(0,20));
                holder.tvMore.setText("展开");
            }
        }
    });

1个回答

代码写错了,String的值不能用==去判断,需要用equals函数

AFlcw
AndromedaF小胖鹿 谢谢 改过来了 好的 昨天没注意到这里
5 个月之前 回复
z979451341
键盘舞者113 String是对象,不是基础变量
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐