单击时切换 TextView 可见性
Toggling a TextView visibility on click
我想在点击时切换 textView。
val targetView = findViewById<TextView>(R.id.targetText)
targetView.text = 'example'
targetView.setOnClickListener {
if (it.visibility == View.VISIBLE) {
it.visibility = View.INVISIBLE
} else {
it.visibility = View.VISIBLE
}
}
但是一旦我点击并且文本的可见性变为不可见,我就不能再点击它了。
建议:如何在文本后面创建一个视图并利用视图而不是文本来触发切换。
即onViewClicked { toggleTextVisibility() }
将文本视图的文本存储在一个临时字符串中。不要切换可见性,而是将文本设置为 null,然后使用临时变量返回到原来的状态。
String final tempText = "your text"
然后
targetView.setOnClickListener(new View.OnClickListener) {
@Override
public void onClick(View view){
if (view.getText() == null) {
view.setText(tempText);
} else {
view.setText(" ");
}
});
}
只需确保布局属性上的文本视图设置了 minWidth 而不是 wrap_content 因为它会在以下情况下消失您将文本设置为 null
我想在点击时切换 textView。
val targetView = findViewById<TextView>(R.id.targetText)
targetView.text = 'example'
targetView.setOnClickListener {
if (it.visibility == View.VISIBLE) {
it.visibility = View.INVISIBLE
} else {
it.visibility = View.VISIBLE
}
}
但是一旦我点击并且文本的可见性变为不可见,我就不能再点击它了。
建议:如何在文本后面创建一个视图并利用视图而不是文本来触发切换。
即onViewClicked { toggleTextVisibility() }
将文本视图的文本存储在一个临时字符串中。不要切换可见性,而是将文本设置为 null,然后使用临时变量返回到原来的状态。
String final tempText = "your text"
然后
targetView.setOnClickListener(new View.OnClickListener) {
@Override
public void onClick(View view){
if (view.getText() == null) {
view.setText(tempText);
} else {
view.setText(" ");
}
});
}
只需确保布局属性上的文本视图设置了 minWidth 而不是 wrap_content 因为它会在以下情况下消失您将文本设置为 null