【问题标题】:Set textview visibility based on button click in Kotlin根据 Kotlin 中的按钮单击设置 textview 可见性
【发布时间】:2021-01-19 01:22:32
【问题描述】:

使用 Kotlin,当用户单击按钮时,我希望能够在我的活动中显示不可见的 Textview。理想情况下,我希望他们在纯文本视图字段(id PW1)中输入特定代码(即 1234),然后单击提交按钮(id sub1),然后我希望出现一个隐藏的文本视图(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 }

【问题讨论】:

  • 这能回答你的问题吗? How to set visibility in Kotlin?
  • 提供部分代码,以下所有答案均为有效答案
  • 也添加错误
  • 您好,我现在可以正常工作了...按钮名称不正确!!!虽然当我移动到另一个活动然后返回时数据正在消失。一旦用户输入数据,我希望数据保留在活动中。我需要对 onCreate 和 SavedInstanceState 做些什么吗?谢谢
  • 要在交换活动时保留应用程序数据,您需要使用将状态存储在包中的代码覆盖 savedinstancestate,然后在 OnCreate 中读取该包。

标签: kotlin button textview visibility


【解决方案1】:

通过在您的 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
}

关于如何在这个问题中实现这一点的更多技术:How to set visibility in Kotlin?

【讨论】:

  • 谢谢你。这与我一直在尝试的方式一致......我必须补充一点,我相信你已经意识到我是一个完全的新手。但我有以下内容: sub1 =findViewById
【解决方案2】:

在变量中加载你的文本视图。 然后 textView.visibility = View.VISIBLE

如果你想再次隐藏文本视图 textView.visibility = View.GONE

【讨论】:

  • 谢谢你...虽然有这个但很挣扎....根据我上面的评论
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-02
  • 2013-03-30
  • 2023-03-18
  • 1970-01-01
  • 2015-06-24
  • 2014-08-23
  • 1970-01-01
相关资源
最近更新 更多