单击时切换TextView可见性

时间:2018-11-18 09:44:56

标签: android textview

我想在单击时切换textView。 enter image description here

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
  }
}

但是,一旦我单击并将文本的可见性更改为“不可见”,就无法再次单击它。

2 个答案:

答案 0 :(得分:1)

建议:如何在文本后面创建视图并利用该视图触发切换而不是文本。

onViewClicked { toggleTextVisibility() }

答案 1 :(得分:0)

将textview的文本存储在临时字符串中。不用切换可见性,而是将文本设置为null,然后使用temp变量返回到原来的状态。

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("   ");   
        }
     });
}

只需确保您在版式属性上的textview具有设置的 minWidth 而不是 wrap_content ,因为当您将文本设置为null时它将消失