文档章节

获取由 AlertDialog 生成的对话框中EditText的文本内容

飞雪无措
 飞雪无措
发布于 2015/02/26 22:37
字数 453
阅读 2K
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

    在Android开发中,AlertDialog常用于处理用户的登录等。那么如何获取由 AlertDialog 生成的对话框中EditText的文本内容呢?

    其实Alertdialog弹出的Activity 可以认为是默认的Activity的子Activity。不能直接使用findViewById()来获取。强行使用会提示一个空指针的错误,我们只需要加上  Alertdialog弹出的Activity.findViewById()就可以获取我们想要的EditText对象了。

关键代码如下:

 /**  Activity01.java  **/
 
 public String strUsername = "";
 
 LayoutInflater factory = LayoutInflater.from(Activity01.this);
 //得到自定义对话框
 final View DialogView = factory.inflate(R.layout.dialog, null);
 //创建对话框
 AlertDialog dlg = new AlertDialog.Builder(Activity01.this)
     .setTitle("登录框")
     .setView(DialogView)//设置自定义对话框的样式
     .setPositiveButton("确定", //设置"确定"按钮
         new DialogInterface.OnClickListener() //设置事件监听
         {
             public void onClick(DialogInterface dialog, int whichButton) {
                //输入后点击“确定”,开始获取我们要的内容 DialogView就是AlertDialog弹出的Activity
                 EditText edtUserName = (EditText)DialogView.findViewById(R.id.username);
                 strUserName = edtUserName.getText().toString();
             }
         })
     .setNegativeButton("取消", //设置“取消”按钮
         new DialogInterface.OnClickListener() 
         {
             public void onClick(DialogInterface dialog, int whichButton) {
             //点击"取消"按钮之后退出程序
                 Activity01.this.finish();
             }
         })
     .create();//创建弹出框
 dlg.show();//显示
 
 
 
 /**  dialog.xml  **/
 
 
 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView 
        android:id="@+id/usernamet"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_marginLeft="20dip"
        android:layout_marginRight="20dip"
        android:text="账号"
        android:gravity="left"
        android:textAppearance="?android:attr/textAppearanceMedium" />
            
    <EditText
        android:id="@+id/username"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_marginLeft="20dip"
        android:layout_marginRight="20dip"
        android:scrollHorizontally="true"
        android:autoText="false"
        android:capitalize="none"
        android:gravity="fill_horizontal"
        android:textAppearance="?android:attr/textAppearanceMedium"/>

    <TextView
        android:id="@+id/passwordt"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_marginLeft="20dip"
        android:layout_marginRight="20dip"
        android:text="密码"
        android:gravity="left"
        android:textAppearance="?android:attr/textAppearanceMedium" />
            
    <EditText
        android:id="@+id/password"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_marginLeft="20dip"
        android:layout_marginRight="20dip"
        android:scrollHorizontally="true"
        android:autoText="false"
        android:capitalize="none"
        android:gravity="fill_horizontal"
        android:password="true"
        android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>


飞雪无措
粉丝 1
博文 8
码字总数 908
作品 0
长沙
技术主管
私信 提问
加载中
请先登录后再评论。
Android的UI界面

1.android中我们常用控件TextView,用android:gravity 来指定文字的对齐方式, 通过 android:textSize 属性可以指定文字的大小,通过 android:textColor 属性可以指定文 字的颜色。 2.Button 是...

西红柿的眼泪
2016/07/16
20
0
PopupWindow(一)

理论部分 一、PopupWindow和AlertDialog都是Android对话框的内容 二、两者的区别和联系 本质区别为:AlertDialog是非阻塞式对话框:AlertDialog弹出时,后台还可以做事情;而PopupWindow是阻...

yolinfeng
2015/06/27
32
0
Activity 关于生命周期一些问题的实践验证

Activity 关于生命周期一些问题的实践验证 1. 如何验证问题   创建一个 MainActivity 、 FirstActivity 类以及一些验证问题的 Dialog 等等其他的类,MainActivity 是项目的主界面。MainAct...

osc_d0mluysz
2019/04/23
5
0
Android PopupWindow的使用

下面是一个弹出带ListView和TextView的PopupWindow实例: 这是弹出框的布局文件: style中添加: drawable中添加dialogenter.xml和dialogexit.xml: 补充: 在用PopupWindow实现底部弹出菜单的...

SRain215
2015/11/24
387
1
各种常用的基本对话框的基本使用

AlertDialog对话框的基本使用//功能:单击一个按钮控件弹出一个对话框//该对话框使用很平凡 -- 比较灵活想在哪里用就在哪里创建1、在res/layout里布局一个按钮代码:<LinearLayout xmlns:and...

初来小修
2016/01/23
30
0

没有更多内容

加载失败,请刷新页面

加载更多

终 于 知 道 《玩 快 3 不 贪 心 每 天 赚 几 百 》的 方 法

终 于 知 道 《玩 快 3 不 贪 心 每 天 赚 几 百 》的 方 法 〓老师:83770023 〓】【注册码:75141155】 1.The past is gone and static. Nothing we can do will change it....

bajing09
19分钟前
0
0
快 3 规 律 技 巧 教 你 怎 么 看+71756373

老师:【叩+ 71756373】1.The past is gone and static. Nothing we can do will change it. Thefuture is before us and dynamic. Everything we do will affect it. 往昔已逝,静如止水;我......

fenhe45
19分钟前
0
0
终于明白快3怎么打才能回血

终于明白快3怎么打才能回血 蔻「67790572」学习走势技巧 以上讲述的热门模式它会在某个时间段爆发,我们要趁着这个时间段尽快下,你要学会分清走势什 么时候是热门,什么时候是冷门, 重点是...

vq67790572
20分钟前
12
0
快 3 大 小 单 双 口 诀 +87095713

【咨87095713】【玛70704659】【网09191c.com】 1.The past is gone and static. Nothing we can do will change it. Thefuture is before us and dynamic. Everything we do will affect it......

qiaohao0961
22分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部