Добавить новый текстовый элемент в список на Android

У меня есть Activity с ListView с текстовыми элементами внутри. Когда пользователь нажимает кнопку меню «Добавить новый», он может добавить новый элемент в ListView, введя новую строку.

Каков наилучший способ отображения виджета ввода текста? Создание диалога или другого действия? Как это обычно обрабатывается на Android.

Большое спасибо,

С Уважением

СТЕН


person STeN    schedule 05.03.2011    source источник


Ответы (3)


Вероятно, вам понадобится AlertDialog с виджетом EditText. Вы также можете добавить кнопки «ОК» и «Отмена» и принять значение в EditText, когда пользователь нажимает «ОК».

person Hakan Ozbay    schedule 05.03.2011

Просто вы должны использовать пользовательский диалог с полем EditText, вы не нужно создавать Activity для этого. Это приведет к большей сложности.

Если вам действительно нужно это с помощью другого действия, вы можете попробовать учебник по Блокноту. Он использует то же самое для добавления новых заметок.

person Vikas Patidar    schedule 05.03.2011

вызовите этот метод, когда вы выберете «Добавить новый»

void addNew()
{

       Context context = MyActivity.this;
       AlertDialog.Builder alert = new AlertDialog.Builder(context);

        alert.setTitle("NEW TITLE");
        alert.setMessage("MESSAGE 1");

         // Set an EditText view to get user input   
          final EditText input = new EditText(this); 
          alert.setView(input);


        alert.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {

                /* User clicked OK so do some stuff */
            }
        });

        alert.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {

                /* User clicked Cancel so do some stuff */
            }
        });

        alert.create();
        alert.show();
}
person Chirag Patel    schedule 10.03.2012