我正在尝试为用户添加第二个空白,以便用户在警报对话框的第二个文本框中输入第二个文本,我该怎么做?我试图直接添加一个文本框,但是这样做只会替换当警报对话框出现时用户读取的当前文本,而且我的第二个文本框也不会出现

这是我当前的代码

@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

08-04 02:05
查看更多