根据按钮点击设置Kotlin中TextView的可见性

3
使用Kotlin,我希望能够使一个不可见的Textview在用户点击按钮时变成可见的。理想情况下,我希望他们能够在纯文本视图字段(id PW1)中输入特定代码(即1234),然后单击提交按钮(id sub1),接着我希望隐藏的textview(id phone1)出现,以允许用户输入更多数据。
非常感谢任何帮助。 请参见以下代码...应用程序运行,但是当我进入具有此代码的活动时崩溃。
val sub1 =findViewById<Button>(R.id.sub1)
sub1.setOnClickListener {
val pw1: String = pw1.text. toString()
if (pw1.equals( "1234"))
phone1.visibility = View.VISIBLE
else phone1.visibility = View.INVISIBLE }

这个回答解决了您的问题吗?如何在Kotlin中设置可见性? - defvs Daniel
提供一些代码,以下所有答案都是有效的答案。 - Mohsen
添加错误信息 - Mohsen
嗨,我现在已经让它工作了...按钮名称不正确!!!虽然当我移动到另一个活动然后返回时数据会消失。我希望用户输入数据后,数据可以保留在活动中。我需要在onCreate和SavedInstanceState中做些什么吗?谢谢 - Glenn Arnold
为了在切换活动时保留应用程序数据,您需要使用代码覆盖savedinstancestate以将状态存储在bundle中,然后在OnCreate中读取该bundle。 - defvs Daniel
2个回答

3

通过在XML标签中添加android:id="@+id/myTextView"来为您的视图添加ID。

然后,您只需要运行myTextView.visibility = View.VISIBLEmyTextView.visibility = View.HIDDENmyTextView.visibility = View.GONE 来更改其状态。

  • VISIBLE将显示视图
  • HIDDEN将隐藏它,但仍会保留该元素所需的空间
  • GONE将像完全不存在一样隐藏它。

您的示例说明您希望在单击按钮时,在按钮中添加一个ID,并在Activity的onCreate函数中添加onclicklistener:

myButton.setOnClickListener {
  // your code here
  myTextView.visibility = 
    if (condition) View.VISIBLE
    else View.HIDDEN
}

如何在Kotlin中设置可见性的更多技巧请参考这个问题:How to set visibility in Kotlin?


谢谢您。这与我一直在尝试的方向相符...我必须补充一点,我相信您已经意识到我是一个完全的新手。但我有以下内容: sub1 = findViewById<Button>(R.id.sub1) sub1.setOnClickListener {if (pw1 = "1234") phone1.visibility = View.VISIBLE else phone1.visibility = View.INVISIBLE} - Glenn Arnold

0

将你的TextView加载到一个变量中。

然后

textView.visibility = View.VISIBLE

如果你想要隐藏TextView

textView.visibility = View.GONE


谢谢...不过我还在为这个问题苦苦挣扎...就像我上面的评论所说的那样。 - Glenn Arnold

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接