繁体   English   中英

Android Studio添加设置2在同一警报对话框中编辑文本

[英]Android Studio Adding Setting 2 Edit Texts in same Alert Dialog

我正在尝试向此警报对话框添加第二个“编辑文本”。 我使用了.setView(),但它只会显示一个或另一个。 如何使它们都显示在我的警报对话框中?

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case R.id.action_add_task:
            final EditText taskEditText = new EditText(this);
            final EditText priorityEditText = new EditText(this);
            AlertDialog dialog = new AlertDialog.Builder(this)
                    .setTitle("Add New Task")
                    .setMessage("what do you want to do next")
                    .setView(priorityEditText)
                    .setPositiveButton("Add", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            String task = String.valueOf(taskEditText.getText());
                            String priority = String.valueOf(priorityEditText.getText());
                            dbHelper.insertNewTask(task, priority);
                            loadTaskList();
                        }
                    })
                    .setNegativeButton("Cancel",null)
                    .create();
            dialog.show();
            return true;
    }
    return super.onOptionsItemSelected(item);
}

1,添加一个LinearLayout

2.将EditTextLinearLayout 并设置linearLayout.setOrientation(LinearLayout.VERTICAL);

3.使用setView(linearLayout)添加LinearLayout

你可以这样做 。

final EditText taskEditText = new EditText(this);
final EditText priorityEditText = new EditText(this);
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
linearLayout.addView(taskEditText);
linearLayout.addView(priorityEditText);
AlertDialog dialog = new AlertDialog.Builder(this)
        .setTitle("Add New Task")
        .setMessage("what do you want to do next")
        .setView(linearLayout)
        .setPositiveButton("Add", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String task = String.valueOf(taskEditText.getText());
                String priority = String.valueOf(priorityEditText.getText());
            }
        })
        .setNegativeButton("Cancel", null)
        .create();
dialog.show();

输出值

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM