2013-05-13 2 views
0

Мне было интересно, как я могу получить входные данные из окна editText в popupwindow. Я попробовал два способа. Один с раскладкой инфлятором и один без, но я либо получить «» или ноль, даже если я напечатал что-то в полеПолучение ввода editText от PopUpWindow

Это один возвращает «»:

// get the username and password inputs 
     View inflatedView = getLayoutInflater().inflate(R.layout.login_popup, null); 
     EditText usernameInput = (EditText) inflatedView.findViewById(R.id.username_login_input); 
     EditText passwordInput = (EditText) inflatedView.findViewById(R.id.password_login_input); 

     final String usernameString = usernameInput.getText().toString(); 
     final String passwordString = passwordInput.getText().toString(); 

Это один возвращает нуль:

// get the username and password inputs 
     EditText usernameInput = (EditText) findViewById(R.id.username_login_input); 
     EditText passwordInput = (EditText) findViewById(R.id.password_login_input); 

     final String usernameString = usernameInput.getText().toString(); 
     final String passwordString = passwordInput.getText().toString(); 

Я пытаюсь получить от login_popup.xml, не порождаемой от активности

Это где код из

EDIT

LayoutInflater layoutInflater = 
       (LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE); 
     View popupView = layoutInflater.inflate(R.layout.login_popup, null); 
     ppw = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, true); 
     ViewGroup parentLayout = (ViewGroup) findViewById(R.id.title_page_layout); 
     // set the position and size of popup 
     ppw.showAtLocation(parentLayout, Gravity.CENTER, 10, 20); 
+0

Пожалуйста, разместите еще какой-нибудь код для контекста. Где этот код появляется? В AlertDialog? В диалоговом окне диалога? – Karakuri

+0

Вы можете отредактировать свой пост ... – Karakuri

ответ

5

Попробуйте следующее вместо когда ваше всплывающее окно закрываются:

View contentView = ppw.getContentView(); 
EditText usernameInput = (EditText) contentView.findViewById(R.id.username_login_input); 
EditText passwordInput = (EditText) contentView.findViewById(R.id.password_login_input); 
final String usernameString = usernameInput.getText().toString(); 
final String passwordString = passwordInput.getText().toString(); 

Я думаю, что ваш нынешний подход раздувает новые взгляды, а не получение существующего вида из всплывающего окна окно.

Смежные вопросы