Фрагмент определяется следующим образом. Я пытаюсь установить текст positionTextView
.
public class Fragment2 extends Fragment {
private TextView positionTextView,fragment2TextView;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_fragment2, container, false);
positionTextView = view.findViewById(R.id.positionTextView);
fragment2TextView = view.findViewById(R.id.fragment2TextView);
Toast.makeText(getContext(),"OnCreateView",Toast.LENGTH_LONG).show();
return view;
}
public void setContentOfTextView( int position) {
positionTextView.setText(Integer.toString(position));
}
}
И в MainActivity
я добавляю Fragment2
следующим образом.
@Override
public void fragmentRespond(int index) {
FragmentTransaction transaction = fragmentManager.beginTransaction();
Fragment2 fragment2 = new Fragment2();
transaction.add(R.id.group2,fragment2,"fragment2");
transaction.commit();
transaction.addToBackStack("fragment2");
fragment2.setContentOfTextView(index);
}
У меня есть fragmentRespond
функция в другом фрагменте, который содержит ListView
. ListView
s onItemClickListener
вызывает эту функцию, то есть fragmentRespond(int index)
.
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String[] quotes = getResources().getStringArray(R.array.quotes);
CustomArrayAdapter customArrayAdapter = new CustomArrayAdapter(getContext(),quotes,null);
listView.setAdapter(customArrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
fragmentCommunicator.fragmentRespond(position);
}
});
}
И я получаю следующую ошибку
java .lang.NullPointerException: Попытка вызвать виртуальный метод void android .widget.TextView.setText ( java .lang.CharSequence) 'для ссылки на пустой объект
Любые предложения, касающиеся этой проблемы или улучшения стиля кодирования, очень приветствуются.
Заранее спасибо.