Android输入对话框的Onclick不起作用

时间:2013-12-15 07:19:07

标签: java android user-interface

所以我不熟悉Android中的编程,所以我很抱歉这是一个初学者的错误,但是我正在编程我的按钮,将用户添加到数组列表中,并在对话框中给出了名称。当我运行它时,一切都有效,除非它执行users.add(new User(name)); (它返回一个空指针我不确定为什么会这样。任何帮助都会非常感激。这是我的代码。

addPersonButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        final EditText input = new EditText(mainActivity);

        new AlertDialog.Builder(mainActivity)
            .setTitle("New User")
            .setMessage("What is the new user's name?")
            .setView(input)
            .setPositiveButton("Add", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    final String name = input.getText().toString();
                    users.add(new User(name));
                }
            })
            .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    // Do nothing.
                }
            }).show();
    }
});

2 个答案:

答案 0 :(得分:0)

我认为您的问题在于input方法中的onClick,而input中的dialog layout不在main layout中,因此您必须使用以下代码:

    final String name = dialog.input.getText().toString();
    users.add(new User(name));

答案 1 :(得分:0)

在xml中创建edittext并使用findViewById(R.id.edittext);

或在java

final EditText input = new EditText(MainActivity.this);

参考here