我正在尝试为用户添加第二个空白,以便用户在警报对话框的第二个文本框中输入第二个文本,我该怎么做?我试图直接添加一个文本框,但是这样做只会替换当警报对话框出现时用户读取的当前文本,而且我的第二个文本框也不会出现
这是我当前的代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_add_task:
final EditText taskEditText = new EditText(this);
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("Add a new task")
.setMessage("What do you want to do next?")
.setView(taskEditText)
.setPositiveButton("Add", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String task = String.valueOf(taskEditText.getText());
SQLiteDatabase db = mHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(TaskContract.TaskEntry.COL_TASK_TITLE, task);
db.insertWithOnConflict(TaskContract.TaskEntry.TABLE,
null,
values,
SQLiteDatabase.CONFLICT_REPLACE);
db.close();
updateUI();
}
})
.setNegativeButton("Cancel", null)
.create();
dialog.show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
最佳答案
创建一个LinearLayout
并将您的Edittext's
添加到其中
LinearLayout layout = new LinearLayout(MATCH_PARENT, WRAP_CONTENT);
layout.setOrientation(LinearLayout.VERTICAL);
final EditText taskEditText1 = new EditText(this);
final EditText taskEditText2 = new EditText(this);
layout.addView(taskEditText1);
layout.addView(taskEditText2);
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("Add a new task")
.setMessage("What do you want to do next?")
.setView(layout) //<-- add layout