单击时切换 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