У меня есть приложение для Android с фрагментом на основной деятельности. Проблема в том, что я не могу вызывать объекты TextView
из фрагмента.Android view.findViewById (R.id ....) nullpointer исключение в фрагменте
текущий код
public class MainFragment extends Fragment {
private View view;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_main, container, false);
this.view = view;
//populateListView();
//registerClickCallback();
TextView text = (TextView) view.findViewById(R.id.main_txt_name);
if(view == null){System.out.println("view is null");} //view is not null
if(text == null){System.out.println("text is null");} //text is null!
text.setText("text changed"); //nullpointer exception
return view;
}
Объект вид не является нулевым, но view.findViewById(R.id.main_txt_name);
возвращает null
. Сообщение об ошибке
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
в строке
"text.setText("text changed"); //nullpointer exception"
если я изменить вид на getActivity()
это isthe же проблема.
Кто-нибудь знает, как получить layout
элементов?
Что вы сделали хорошо, без дополнительной информации. Пожалуйста, покажите файл 'fragment_main' xml. Это очень хорошо документировано, почему findViewById возвращает null –