Доброго времени суток!
Изучаю android и пытаюсь из одного фрагмента передать информацию в другой.
Реализовал интерфейс:
public interface DataPassListener {
void passData(String data);
}
В первом фрагменте:
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
if(context instanceof DataPassListener) {
dataPassListener = (DataPassListener) context;
} else {
throw new RuntimeException(context.toString() + " must implement dataPassListener");
}
}
В Activity:
public class UserCreationActivity extends AppCompatActivity implements DataPassListener {
@Override
public void passData(String data) {
Log.d(LOG, "Получили сообщение в UserCreationActivity: "+ data);
fragment_2 = (UserCreationActivityFragment_2) this.getSupportFragmentManager().findFragmentById(R.id.secondFragmentUserCreation);
Bundle bundle = new Bundle();
bundle.putString("age",data);
fragment_2.setArguments(bundle);
}
}
Во втором фрагменте
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_2_user_creation, container, false);
String age = null;
if (getArguments() != null) {
age = getArguments().getString("age");
}
Log.d(LOG, "Возраст " + age);
}
Из первого фрагмента в Activity информация передается, а вот при срабатывании setArguments возникает исключение NPE:
java.lang.NullPointerException: Attempt to invoke virtual method 'void info.md7.lfk.fragments.UserCreationActivityFragment_2.setArguments(android.os.Bundle)' on a null object reference
Как устранить это исключение? Заранее благодарю за советы и подсказки.