Я новичок в использовании фрагментов. Это, как я передаю StringArrayList внутри пучка в onActivityCreated первого фрагмента в скользящем ВкладкаИспользование пучка для передачи сообщений в скользящих вкладках возвращает нуль
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
next_personal = (Button) getActivity().findViewById(R.id.personal_next);
next_personal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
validate();
}
});
}
private void validate() {
isValid = FormValidator.validate(this, new SimpleErrorPopupCallback(getActivity().getApplicationContext(), true));
if (isValid) {
arrayList = new ArrayList<String>();
arrayList.add(memID.getText().toString());
arrayList.add(idNumber.getText().toString());
arrayList.add(firstName.getText().toString());
arrayList.add(secondName.getText().toString());
arrayList.add(lastName.getText().toString());
arrayList.add(secondLastName.getText().toString());
Bundle bundle = new Bundle();
bundle.putStringArrayList("personal",arrayList);
Log.d("bundle",": "+bundle.toString());
FragContactInfo frag = new FragContactInfo();
frag.setArguments(bundle);
((RegisterTabActivity) getActivity()).setCurrentItem(1, true);
}
}
И тогда я пытаюсь получить ArrayList в третьем фрагменте вкладки скольжения, как показано ниже:
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Bundle bundle = getArguments();
if (bundle != null && bundle.containsKey("personal")) {
ArrayList<String> userId = bundle.getStringArrayList("personal");
}
else{
Toast.makeText(getActivity(),"Bundle is null",Toast.LENGTH_SHORT).show();
}
}
Он продолжает возвращать null. Делал то же самое внутри onCreateView обоих фрагментов, тот же результат. Что я здесь не так?
Вы используете одно и то же действие для всех своих фрагментов? и где вы добавляете уловки в свою деятельность? я думаю, вы не используете один и тот же экземпляр фрагмента. Отправьте код активности. – Rami
Я разрешил его, создав собственный метод в целевом фрагменте, который принимает arraylist и вызывается методом из фрагмента отправки сообщения. Фрагменты для скользящей вкладки. Итак, да, такая же родительская активность для всех фрагментов вкладки. Спасибо, что ответили :) – SagePawan