繁体   English   中英

如何在 Android 中为 TextInputLayout 设置默认值

[英]How to set default value for TextInputLayout in Android

我在 Android 上使用Google Material Design中的TextInputLayout 我想为文本字段设置默认文本值。

我知道我可以设置提示、帮助文本和错误消息,但我想以编程方式设置在其他情况下最终将由用户输入的默认文本值。

根据文档,您可以在技术上将内部TextInputEditText切换为常规EditText ,但 Google 不建议这样做。 我应该探索这样做的风险还是我缺少内置的解决方案?

您可以在任何地方使用setText方法进行TextInputEditTest如下所示:

textInputEditText.setText(R.string.yourStringName);//string from resources
textInputEditText.setText("yourString");//static string

如果您想在活动片段初始化时设置默认文本,您应该在onCreate方法中使用 setText,这是活动和片段生命周期中的第一个回调。

最后一件事:您可以为TextInputEditText而不是TextInputLayout设置默认文本,因为 TextInputLayout 从 LinearLayout 扩展,因此它没有 text 属性。

不太确定您的用例是什么,但您可能会想到以下其中一种:

案例 1:您希望用户看到默认文本

  1. 在提示字段中写下您的默认文本。
  2. 当应用程序收集数据时,如果 View 没有文本,则使用默认文本。

案例 2:用户不需要看到默认文本

  1. 保持您现在拥有的提示文本。
  2. 当应用程序收集数据时,如果 View 没有文本,则使用默认文本。

如果这两种情况都不适合您,请说明您正在寻求的用户体验。 例如,您是否想在某个事件/时间后等待以使用默认文本切换提示?

<com.google.android.material.textfield.TextInputLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="@string/form_username">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM