从android中的对话框保存EditText

Posted

技术标签:

【中文标题】从android中的对话框保存EditText【英文标题】:Saving EditText from a Dialog Box in android 【发布时间】:2011-07-15 20:08:26 【问题描述】:

有谁知道如何保存用户在弹出对话框后输入的文本? 我首先为对话框添加一个视图,然后让用户输入一个字符串并以某种方式显示它。这是我的对话框膨胀代码。我的问题是如何保存某人从警报对话框输入到我的字段中的文本。我的 XML 在底部

@Override
    protected Dialog onCreateDialog(int id) 
        switch (id) 
        case DIALOG_TEXT_ENTRY:

            LayoutInflater mInflater = LayoutInflater.from(this);
            final View textEntryView = mInflater.inflate(
                    R.layout.alert_text_entry, null);
            return new AlertDialog.Builder(AlarmList.this)
                    .setIcon(R.drawable.alert_icon)
                    .setTitle("Enter your name")
                    .setView(textEntryView)
                    .setPositiveButton("accept",
                            new DialogInterface.OnClickListener() 
                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) 



                                
                            )
                    .setNegativeButton("Cancel", new OnClickListener() 
                        public void onClick(DialogInterface dialog, int which) 

                        
                    ).create();
        
        return null;
        


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_
  android:layout_>

  <TextView android:id="@+id/rowTextView" 
    android:layout_ 
    android:layout_
    android:padding="12dp"
    android:textSize="16sp" >
  </TextView>

  <EditText android:id="@+id/alarm_name_text"
  android:layout_ 
  android:text=""
  android:layout_below="@+id/rowTextView" 
  android:layout_ 
  android:layout_alignLeft="@+id/rowTextView"
  android:layout_alignRight="@+id/rowTextView">
  </EditText>

  <CheckBox android:id="@+id/CheckBox01" 
    android:layout_ 
    android:layout_ 
    android:padding="10dp"
    android:layout_alignParentRight="true" android:layout_marginRight="6sp"
    android:focusable="false">
  </CheckBox>

</RelativeLayout>

【问题讨论】:

【参考方案1】:

如 EditText 文档中所述,您可以调用 getText() 从 EditText 视图中获取文本。

【讨论】:

我试过这个。它不起作用。我需要得到从对话框中显示的editText字符串。 我觉得自己太笨了,固定的。我需要的 editText 的 R.id 值错误...>.

以上是关于从android中的对话框保存EditText的主要内容,如果未能解决你的问题,请参考以下文章

如何从alertdialog更改mainactivity中的可见性edittext

无法从警报对话框中的 EditText 视图中获取数据

可以从对话框textview获取文本,但无法从对话框edittext获取文本

防止在Android中的屏幕旋转对话框解除

Android EditText 展开为对话框

Android- 使用 EditText 帮助修复自定义警报对话框