2013-10-06 4 views
0

Я пытаюсь использовать EditText в Dialog. Я использую образец от developer.android.com (http://developer.android.com/guide/topics/ui/dialogs.html). Теперь я хочу получить Value EditText, когда я нажимаю positive Button.
Мой код
Editext (Dialog) Значение пустое?

public Dialog onCreateDialog() { 
    AlertDialog.Builder builder = new AlertDialog.Builder(main_list.this); 
    // Get the layout inflater 
    final LayoutInflater inflater = main_list.this.getLayoutInflater(); 


    builder.setView(inflater.inflate(R.layout.serie_add, null)) 
      // Add action buttons 
      .setPositiveButton(R.string.search, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int id) { 
        View promptsView = inflater.inflate(R.layout.serie_add, null); 
        final EditText userInput = (EditText) promptsView 
          .findViewById(R.id.series); 

        Intent intent = new Intent(); 
        intent.setClass(main_list.this, add_series.class); 
        intent.putExtra("name", userInput.getText()); 
        startActivity(intent); 
       } 
      }) 
      .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 

       } 
      }); 
    return builder.create(); 
} 

ответ

0

Перепишите код, как:

+0

Значение по-прежнему пусто ... :( – ternes3

+0

Проверьте мой отредактированный код я устанавливаю UserInput до обработчика событий – Szymon

+0

благодарите D это работает.! – ternes3

1

Как я понимаю, у вас есть две проблемы в коде. Первое, что вы раздуваете представление во время onClick, поэтому, очевидно, оно пустое. Инфляция должна быть сделана заранее, и только тогда вы должны зарегистрироваться в событии onClick. . Во-вторых, вы делаете:

userInput.getText() instead of 
userInput.getText().toString(); 
Смежные вопросы