Android自定义对话框中EditText数据获取与传递实例
104 浏览量
更新于2024-09-03
1
收藏 89KB PDF 举报
在Android编程中,实现自定义对话框并获取其中EditText输入的数据是一个常见的需求,特别是在需要用户交互和验证的情况下。本文将详细介绍如何在Android应用中创建一个带有EditText的自定义对话框,并在用户点击确定后获取并处理输入的数据。
首先,理解关键代码段:
```java
final View dialogView = a.inflate(R.layout.loand, null); // 创建并加载自定义布局
AlertDialog alertDialog = new AlertDialog.Builder(loand.this) // 创建AlertDialog实例
.setTitle("登录框") // 设置对话框标题
.setView(dialogView) // 将自定义视图添加到对话框
.setPositiveButton("登陆", new DialogInterface.OnClickListener() { // 设置确定按钮的监听器
public void onClick(DialogInterface dialog, int whichButton) {
EditText editText1 = (EditText) dialogView.findViewById(R.id.editText1); // 获取EditText控件
EditText editText2 = (EditText) dialogView.findViewById(R.id.editText2);
String id = editText1.getText().toString(); // 读取EditText1中的文本
String password = editText2.getText().toString(); // 读取EditText2中的文本
// 进行后续逻辑处理,如验证用户输入
c_logJudge = new c_log();
boolean b_judge = judge.aa(id, password);
if (b_judge) {
bar(); // 如果验证通过,执行某个操作
} else {
DisplayToast("NO"); // 否则显示错误提示
}
}
});
```
这段代码的核心在于创建一个自定义布局(loand.xml),该布局包含一个或多个EditText控件。当用户点击对话框的"确定"按钮时,会触发OnClickListener中的回调函数。在这个回调函数中,通过`findViewById()`方法找到EditText组件,并获取它们的文本内容。然后,你可以根据这些文本进行进一步的操作,如验证、存储或更新数据。
为了实现自定义对话框,你需要在布局文件(loand.xml)中定义EditText控件,例如:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入ID" />
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入密码" />
<!-- 可能还包括其他对话框元素 -->
</LinearLayout>
```
实现自定义对话框并在其中获取EditText数据的关键在于创建自定义布局,正确地在Activity中设置对话框并设置监听器,以及在点击事件中读取EditText控件的值。这有助于构建用户友好的交互界面,并对用户的输入进行适当的处理。
2018-09-28 上传
2017-09-08 上传
2022-12-19 上传
2020-08-30 上传
2020-09-02 上传
2012-03-18 上传
2009-09-24 上传
2020-09-03 上传
2021-05-02 上传
weixin_38639615
- 粉丝: 4
- 资源: 922
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍