所以我不熟悉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();
}
});
答案 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