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

转载 2011年01月17日 10:52:00

一、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();

在dialog中获取Edittext的值

首先写了一个包含edittext的dialog布局:
  • w719566673
  • w719566673
  • 2016年06月08日 17:21
  • 2025

AlertDialog中的EditText不能输入

一、描述在项目中有碰到使用AlertDialog,给他设置自定义布局,自定义布局中有包含EditText,但是运行起来后发现EditText不能输入文字,没有焦点,一开始还以为是事件拦截掉了,后来试了...
  • junwen0814
  • junwen0814
  • 2016年01月09日 00:34
  • 1372

从自定义AlertDialog中获取EditText中的文本解决办法

最近想要实现一个简单的设计,给一个AlertDialog设计一个拥有两个EditText的布局界面,然后点击确认按钮时,返回两个EditText中的内容,就是这么一个简单的设计,耗费了很多时间。  ...
  • LeeCoding
  • LeeCoding
  • 2016年06月06日 19:39
  • 1969

自定义AlertDialog对话框,包括解决对话框中edittext不能输入的问题

1、自定义代码实现: private void addAndEditBookmark(final String typeStr, String title) { // 1. 布局文件转换为View对象...
  • leihuanhuan123
  • leihuanhuan123
  • 2016年08月12日 11:07
  • 359

AlertDialog中EditText不能获取焦点以及不宽度不能自动铺满的完美解决方案

问题分析:因为 dialog的Attributes使用的默认的,其中一个属性就是:flags ,就是这个属性导致不能获取焦点,默认的是FLAG_NOT_FOCUSABLE,故名思义不能获取输入焦点,所...
  • justkeepcoding
  • justkeepcoding
  • 2015年04月14日 09:58
  • 712

android 如何在自定义对话框中获取edittext中的数据

在项目中忽然遇到这样的问题,需要自定义对话框,对话框需要有一个输入框,以便修改所选中的价格,然后点击确定之后,修改所显示的价格。遇到的最大的问题就是如何能够获取到自定义对话框当中edittext输入的...
  • omayyouhappy
  • omayyouhappy
  • 2015年10月10日 17:12
  • 4234

Android Dialog中的EditText 弹出软键盘

其实,这个问题很简单,但是网上的好多资料,都走歪了。直接上代码:final AlertDialog dialog = new AlertDialog.Builder(this).create(); ...
  • JimTrency
  • JimTrency
  • 2017年04月14日 17:20
  • 652

安卓中获取EditText中输入的内容

安卓中获取EditText中输入的内容,方法如下: editText.getText(); //返回值类型为Editable editText.getText().toString(); //转换...
  • seashine_yan
  • seashine_yan
  • 2017年06月28日 16:37
  • 609

android Dialog和EditText

1.Dialog全屏或者固定宽度 public void installContent() { /* We use a custom title so never request a...
  • whuthm
  • whuthm
  • 2015年08月22日 14:08
  • 1135

android dialog 获得edittext的值 避免一些弹出窗口的错误

1. 以前觉得弹出框上,嵌入一个edittext输入框很容易,却发现,再次点击弹出对话框的时候,就会报错,说什么已经有了布局,网上的前辈也解释了为什么,解决的办法就是讲对话框的布局移除掉就可以了: ...
  • omayyouhappy
  • omayyouhappy
  • 2015年09月25日 10:21
  • 1762
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Android]取得Dialog中EditText的内容问题
举报原因:
原因补充:

(最多只允许输入30个字)