android - 无法从对话框中的 EditText 对象获取文本

标签 android android-layout android-edittext

所以我想从一个菜单项中显示一个允许用户输入一些文本的对话框。该对话框工作正常,但当我尝试对 EditText 对象执行任何操作时,应用程序关闭。可能与我正在使用的对话框的布局有关,但我不确定。下面是按下相应菜单项时调用的方法:

private void showChangeDownloadURLDialog() {
    mapShouldRefresh = false;

    // Get the layout inflater
    LayoutInflater inflater = MapsActivity.this.getLayoutInflater();

    final EditText mEditText = (EditText) findViewById(R.id.urladdress);

    new AlertDialog.Builder(MapsActivity.this)
    .setTitle(R.string.map_menu_test)
    .setView(inflater.inflate(R.layout.change_url, null))
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            Log.i(TAG, "click ok");
            String mString = mEditText.getEditableText().toString();
            Log.i(TAG, "New URL is: " + mString);
        }
    })
    .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // Does nothing
        }
    })
    .create()
    .show();
}

感谢任何帮助,谢谢!

最佳答案

正确的代码是:

LayoutInflater inflater = MapsActivity.this.getLayoutInflater();
View content = inflater.inflate(R.layout.change_url, null);
final EditText mEditText = (EditText) content.findViewById(R.id.urladdress);
new AlertDialog.Builder(MapsActivity.this)
    .setTitle(R.string.map_menu_test)
    .setView(content)
//....

关于android - 无法从对话框中的 EditText 对象获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15940616/

相关文章:

java - Libgdx 和服务器游戏

android - 如何控制android上的cpu throttle

android - 如何学习在 Android 中编程 GPS 应用程序

Android:使用 TextWatcher 删除 EditText 中的字符仍会在建议中显示字符

android - 在导航 Activity 时恢复 edittext 值

java - 错误膨胀类 androidx.appcompat.widget.Toolbar android

android - 将主题应用于 Android 应用程序中的所有对话框

android - layout_weight 与多个 sw<dp> 屏幕

android - 以编程方式在 RelativeLayout 中添加 subview

Android 如果单击字段中的任何字母,将光标从一个 EditText 移动到另一个?