В моем проекте я использую панель действий с просмотром пейджера и имею три вкладки, которые являются фрагментами, есть еще один четвертый фрагмент, когда я нажимаю кнопку в первом фрагменте, я заменяю ее четвертым фрагментом, теперь здесь, где я сталкиваюсь с проблемой, когда я щелкните элемент списка четвертого фрагмента, мне нужно передать данные списка на первую вкладку (первый фрагмент) и отобразить его. Я использую Bundle для отправки данных, как в моем четвертом фрагменте ниже.
public class PlaceSearchFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.autosearchactivity, container, false);
return rootView;
}
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parentView, View view, int position,
long arg3) {
int product =lv.getId();
Bundle bundle = new Bundle();
bundle.putInt("y", product); //any string to be sent
System.out.println("Bundle loaded "+product);
Fragment newFragment = new GetRideFragment();
newFragment.setArguments(bundle);
Fragment productDetailFragment = new GetRideFragment();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.remove(PlaceSearchFragment.this);
transaction.replace(R.id.replaceautosearch, productDetailFragment,"yourfragment").commit();
}
});
}
И в моем первом фрагменте я вызываю пакет, как показано ниже.
public class Myplace extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.autosearchactivity, container, false);
return rootView;
}
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if ( b != null ){
b = getArguments();
int s = b.getInt("y");
System.out.println("printinf bundle data==>"+s);
getfrom.setText(""+s);
}}
Любая помощь приветствуется.