Android Textview 选取框第一次无法使用

Android Textview marquee not working for first time

我有 Textview,它在 activity 加载时最初是隐藏的。当点击按钮时它会显示。 但是第一次当 textview 显示选取框时不起作用..除非它工作正常..如果屏幕在解锁后被锁定它开始工作正常..

我在代码中将字符串设置为文本,并且还在代码中使用了 setselected(true)..

<TextView
        android:id="@+id/txtInfo"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_below="@id/linearTtitle"
        android:background="@color/md_grey_300"
        android:ellipsize="marquee"
        android:freezesText="true"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:text=""
        android:textColor="@color/md_black_1000"
        android:textSize="16sp" />` 

当您将 setSelected 设置为 true 时,此时 textview 无法执行命令,因此您可以在内部执行命令 view.post 因此,当它处于活动状态时,它将执行操作。

在您的按钮中尝试此代码

btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            tv.setVisibility(View.VISIBLE);
            tv.post(new Runnable() {
                @Override
                public void run() {
                    tv.setSelected(true);
                }
            });
        }
    });