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);
}
});
}
});
我有 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);
}
});
}
});