android - 带有 gettext 和 editText 的空指针

标签 android android-edittext android-alertdialog gettext tostring

我是新手,我整天都在寻找解决办法,你能帮我吗?

我试图在字符串中获取一个 EditText 我在 AlertDialog 中设置

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add);

        LayoutInflater li = LayoutInflater.from(this);
        View alert = li.inflate(R.layout.alert, null);

        AlertDialog.Builder addUser = new AlertDialog.Builder(this);
        addUser.setView(alert);
        addUser.setTitle("...");
        addUser.setMessage("...");
        addUser.setCancelable(false);
        addUser.setPositiveButton(R.string.btNext, new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog, int id) {
        Final EditText getName = (EditText) findViewById(R.id.inUsName);
        String uName = getName.getText().toString(); //NullPointerException
                acept(v);
            }
        });
        addUser.setNegativeButton(R.string.btCancel, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                cancel();
            }
        });
        addUser.show();
    }

EditText ID 正确,我在 alert.xml 中拥有所有组件(不是 Activity 默认 xml)。

你有没有发现什么问题?我确定它不是经过优化或格式正确的代码(这是我的第一个 Android 尝试)。

非常感谢。

最佳答案

更改此代码。您必须像在 fragment 中一样提供 inflater.findviewbyId :

Final EditText getName = (EditText) findViewById(R.id.inUsName);

对此:

final EditText getName = (EditText) li.findViewById(R.id.inUsName);

关于android - 带有 gettext 和 editText 的空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24190236/

相关文章:

android - 在模拟器 (GenyMotion) Android 4.3 中显示 EditText 的键盘

android - AnySoftKeyboard 在我隐藏它之后保留垃圾数据

android - 为什么我会收到此 sqlite 错误?

android - 使用 alertdialog 构建器的 setCursor 方法显示数据库中的项目列表时如何添加多个列?

android - 如何防止 AlertDialog 关闭?

android - 在android studio中添加图像源的问题

android - 如何修复我的布局位置错误?

android - 如果在 android 应用程序中使用 youtube Video Player API 时应用程序进入暂停状态,则视频暂停

android - 没有得到包名

android - 当 EditText 处于焦点时无法在 RecyclerView 上通知 DataSetChanged