alert获取输入框内容_获取由 AlertDialog 生成的对话框中EditText的文本内容
在Android開發(fā)中,AlertDialog常用于處理用戶的登錄等。那么如何獲取由 AlertDialog 生成的對(duì)話框中EditText的文本內(nèi)容呢?
其實(shí)Alertdialog彈出的Activity 可以認(rèn)為是默認(rèn)的Activity的子Activity。不能直接使用findViewById()來獲取。強(qiáng)行使用會(huì)提示一個(gè)空指針的錯(cuò)誤,我們只需要加上 ?Alertdialog彈出的Activity.findViewById()就可以獲取我們想要的EditText對(duì)象了。
關(guān)鍵代碼如下:
/**??Activity01.java??**/
public?String?strUsername?=?"";
LayoutInflater?factory?=?LayoutInflater.from(Activity01.this);
//得到自定義對(duì)話框
final?View?DialogView?=?factory.inflate(R.layout.dialog,?null);
//創(chuàng)建對(duì)話框
AlertDialog?dlg?=?new?AlertDialog.Builder(Activity01.this)
.setTitle("登錄框")
.setView(DialogView)//設(shè)置自定義對(duì)話框的樣式
.setPositiveButton("確定",?//設(shè)置"確定"按鈕
new?DialogInterface.OnClickListener()?//設(shè)置事件監(jiān)聽
{
public?void?onClick(DialogInterface?dialog,?int?whichButton)?{
//輸入后點(diǎn)擊“確定”,開始獲取我們要的內(nèi)容?DialogView就是AlertDialog彈出的Activity
EditText?edtUserName?=?(EditText)DialogView.findViewById(R.id.username);
strUserName?=?edtUserName.getText().toString();
}
})
.setNegativeButton("取消",?//設(shè)置“取消”按鈕
new?DialogInterface.OnClickListener()
{
public?void?onClick(DialogInterface?dialog,?int?whichButton)?{
//點(diǎn)擊"取消"按鈕之后退出程序
Activity01.this.finish();
}
})
.create();//創(chuàng)建彈出框
dlg.show();//顯示
/**??dialog.xml??**/
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:id="@+id/usernamet"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:text="賬號(hào)"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium"?/>
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"/>
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"?/>
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"?/>
總結(jié)
以上是生活随笔為你收集整理的alert获取输入框内容_获取由 AlertDialog 生成的对话框中EditText的文本内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pythonspot_python-Sp
- 下一篇: 团队组成五个基本要素_【记录】综合分部宁