Переключение видимости TextView при нажатии - PullRequest
0 голосов
/ 18 ноября 2018

Я хочу, чтобы переключить 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 голосов
/ 18 ноября 2018

Сохраните текст 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

0 голосов
/ 18 ноября 2018

Предложение : Как насчет создания представления позади текста и использования представления для переключения триггера вместо текста.

т.е. onViewClicked { toggleTextVisibility() }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...