[Android]取得Dialog中EditText的内容问题

一、Main Class:
public   void  search() {
   Builder dialog 
=   new  AlertDialog.Builder( this );
   LayoutInflater inflater 
=  (LayoutInflater)  this .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   LinearLayout layout 
=  (LinearLayout)inflater.inflate(R.layout.dialogview,  null );
   dialog.setView(layout);
   et_search 
=  (EditText)layout.findViewById(R.id.searchC);
   dialog.setPositiveButton(
" 查找 " new  DialogInterface.OnClickListener() {
    
public   void  onClick(DialogInterface dialog,  int  which) {
     String searchC 
=  et_search.getText().toString();
     Intent intent 
=   new  Intent();
     Bundle bundle 
=   new  Bundle();
     bundle.putString(
" search " , searchC);
     intent.putExtras(bundle);
     intent.setClass(ViewResultActivity.
this , SearchResult. class );
     ViewResultActivity.
this .startActivity(intent);
    }
   });
  
   dialog.setNegativeButton(
" 取消 " new  DialogInterface.OnClickListener() {
    
public   void  onClick(DialogInterface dialog,  int  which) {
    
    }
   
   });
   dialog.show();
}

二、dialogview.xml
<? xml version = " 1.0 "  encoding = " utf-8 " ?>
< LinearLayout xmlns:android = " http://schemas.android.com/apk/res/android "
android:orientation
= " vertical "
android:layout_width 
=   " fill_parent "
android:layout_height 
=   " fill_parent "
>
< EditText
   android:id 
=   " @+id/searchC "
   styles 
=   " @style/edittext_style1 "
   android:layout_width 
=   " 200px "
   android:layout_height 
=   " wrap_content "
   android:gravity 
=   " left "
   
/>

</ LinearLayout >

 

由于Android dialog本身没有提供取得Edittext内容的回调函数,所以需要自己写.....

简单的方法是使用Activity模拟Dialog,有布局更自由,消息传递更方便地优点。

写一个自定义的AlertDialog:

01. AlertDialog.Builder alert = new AlertDialog.Builder(aBrainExploration. this );

02.
03. alert.setTitle(R.string.label_enterOneName);
04.
05. // Set an EditText view to get user input
06. final EditText input = new EditText(aBrainExploration. this );
07. alert.setView(input);
08.
09. alert.setPositiveButton( "Ok" ,
10.          new DialogInterface.OnClickListener() {
11.              public void onClick(DialogInterface dialog,
12.                      int whichButton) {
13.                  Appendable value = input.getText();
14.                  // setTitle(value.toString());
15.              }
16.          });
17.
18. alert.setNegativeButton( "Cancel" ,
19.          new DialogInterface.OnClickListener() {
20.              public void onClick(DialogInterface dialog,
21.                      int whichButton) {
22.                  // Canceled.
23.              }
24.          });
25.
26. alert.show();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值