Стиль диалога, как в EditTextPreference - PullRequest
1 голос
/ 24 августа 2011

Есть ли способ сделать диалог как в EditTextPreference за пределами PreferenceActivity ?Допустим, я хочу, чтобы это диалоговое окно появлялось при нажатии кнопки в моей основной Activity .

Я пытался создать Dialog с пользовательским макетом, но я нене знаю, как сделать это точно так же, как в EditTextPreference .

Screenshot of the window I'm talking about

1 Ответ

2 голосов
/ 24 августа 2011

Конечно, в основном все, что вам нужно, это AlertDialog с EditText в качестве дочернего представления.
Краткий пример:

AlertDialog.Builder adb = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
adb.setTitle("My title");
adb.setView(input);
adb.setPositiveButton("Ok", new OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                String inputText = input.getText().toString();
                // Do something with the input here             
            }

        });
adb.setNegativeButton("Cancel", null);
adb.show();

Все, что вам нужно сделать, - это создать экземпляр EditTextв коде и установите его как содержимое диалогов через setView().Просто сделайте его окончательным, чтобы вы могли получить к нему доступ от анонимного OnClickListener в этом примере.Конечно, вы можете немного изменить его, но я думаю, что это уже довольно удобно.

this здесь ссылается на Context.Поскольку вы вызываете диалог из Activity (расширяет Context), с вами все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...