来自 XML 的 Android 文本输入

标签 android android-layout

我正在努力学习 Android 中的 XML 布局是如何工作的。我怀疑我的问题以前有人问过,但我找不到答案。 我正在查看 android SDK 附带的 APIDemos 教程。其中有一个名为AlertDialogSamples 的类。我正在处理自定义 DIAGLOG_TEXT_ENTRY 案例。我了解如何将 View 添加到对话框以及如何更改标签和文本框。 我无法理解如何从框中获取用户输入文本并对其进行处理。在行中:

.setPositiveButton(R.string.alert_dialog_ok,
   new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
         /* User clicked OK so do some stuff */
     }

如何获取用户名和密码字段的用户输入值并在用户单击“确定”的地方使用它们?它们应该是 EditText 对象,但我不熟悉如何访问这些字段,因为它们是使用 XML 形成的,而不是用 JAVA 编写的。如何访问 XML 生成的对象?

谢谢

最佳答案

您需要在布局 xml 中的 EditText 字段上设置 id:

<EditText android:id="@+id/username"
    ... />
<EditText android:id="@+id/password"
    ... />

然后在您的 Activity 中,您可以随时通过以下方式引用它们:

EditText username = (EditText) findViewById(R.id.username);
EditText password = (EditText) findViewById(R.id.password);

您可以使用 username.getText() 获取他们的文本,它返回一个 CharSequence 并且可以像 String 一样使用。

关于来自 XML 的 Android 文本输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5294143/

相关文章:

Android:切换键盘(输入法)

Android - 运行时居中图像按钮

android设计库gradle空指针异常

android - 为什么我在 Jetpack Compose 中收到警告信息 "Modifier parameter should be named modifier"?

android - 以与用户手指在布局上移动相同的速度更改相对布局的高度

android - 如何禁用 TextView 中的自动换行?

android - Jetpack Compose 中的折叠布局

安卓微调器 : Avoid onItemSelected calls during initialization

java - 从解析的 XML 文件创建表时发生 Android 错误

java - 为什么ListView.setAdapter(null)不会抛出空指针异常?