У меня есть 2 вкладки в моем макете. Я не получаю входное значение, введенное в EditText на неактивной вкладке. Итак, скажем, вкладка, которая удерживает registerLoginFragment, выбрана. Следующий код возвращает ожидаемое значение.Получить вход с неактивной вкладки
EditText editTextEmail = (EditText)registerLoginFragment.getView().findViewById(R.id.editTextEmail);
Но получить значение из 2 вкладки, которая неактивна завершается с NPE, потому что GetView() вкладки неактивной возвращает нуль. Так следующее неудачу:
EditText EditTextFirstName = (EditText)registerPersonalFragment.getView().findViewById(R.id.EditTextFirstName);
Так что мне нужно, чтобы получить вход с обеих вкладок при нажатии кнопки на 1-й вкладке щелкают. Обе вкладки посещаются и вводятся значения.
Немногим больше Код:
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if(tab.getTag().toString().equals("LOGIN_TAB")){
if(registerLoginFragment == null){
registerLoginFragment = Fragment.instantiate(this, RegisterLoginFragment.class.getName());
ft.add(R.id.linearLayoutRegister, (Fragment)registerLoginFragment);
}
else{
ft.attach((Fragment)registerLoginFragment);
}
currentFragment = registerLoginFragment;
}
else if(tab.getTag().toString().equals("PERSONAL_TAB")){
if(registerPersonalFragment == null){
registerPersonalFragment = Fragment.instantiate(this, RegisterPersonalFragment.class.getName());
ft.add(R.id.linearLayoutRegister, (Fragment)registerPersonalFragment);
}
else{
ft.attach((Fragment)registerPersonalFragment);
}
currentFragment = registerPersonalFragment;
}
}
Так, очевидно, что это не правильный путь, чтобы получить значения из вкладки неактивной, но я не в состоянии найти правильный путь.
Я предполагаю, что я могу это сделать: Get text from edit text fields that are in multiple tabs
Но есть более «элегантный» путь?
Благодаря Velja