Android自定义对话框中EditText数据获取与传递实例
75 浏览量
更新于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 上传
2023-05-25 上传
2023-05-05 上传
2023-05-09 上传
2023-06-28 上传
2023-06-11 上传
2023-06-02 上传
2023-05-01 上传
weixin_38639615
- 粉丝: 4
- 资源: 922
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解