Имеется несколько Tab (TabLayout).
Необходимо передать экземпляр класса из одного Tab в другое при свайпе или выборе вкладки.
Проблема в том что я не знаю, как это во фрагменте сделать. Там нету ни одного метода отвечающий за выбор вкладки или свайп.
Все действия прописаны в отдельном классе Pager. Экземпляр добавляется в 1 Tab, поэтому я не могу его в Pager передать.
SmartPager:
public class SmartphonePager extends FragmentStatePagerAdapter {
int tabCount;
public SmartphonePager(FragmentManager fm, int tabCount) {
super(fm);
this.tabCount = tabCount;
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
SmartphoneMainTab smartphoneMainTab = new SmartphoneMainTab();
return smartphoneMainTab;
case 1:
SmartphoneDisplayTab smartphoneDisplayTab = new SmartphoneDisplayTab();
return smartphoneDisplayTab;
case 2:
SmartphoneStructureTab smartphoneStructureTab = new SmartphoneStructureTab();
return smartphoneStructureTab;
case 3:
SmartphoneHardwareTab smartphoneHardwareTab = new SmartphoneHardwareTab();
return smartphoneHardwareTab;
case 4:
SmartphoneCameraTab smartphoneCameraTab = new SmartphoneCameraTab();
return smartphoneCameraTab;
case 5:
SmartphoneDataTransferTab smartphoneDataTransferTab = new SmartphoneDataTransferTab();
return smartphoneDataTransferTab;
case 6:
SmartphoneBatteryTab smartphoneBatteryTab = new SmartphoneBatteryTab();
return smartphoneBatteryTab;
default:
return null;
}
}
@Override
public int getCount() {
return tabCount;
}
}
SmartTab:
public class SmartphoneMainTab extends Fragment {
private ProgressBar progressBar;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.tab_smartphone_main, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
progressBar = (ProgressBar)view.findViewById(R.id.progressBar);
}
В какой метод нужно закидывать (пример)
Fragment f = new EmployeeDetails();
Bundle bundle = new Bundle();
bundle.putString("ID", "123");
f.setArguments(bundle);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.replace(R.id.content_frame, f);
ft.commit();
И еще вопрос как объект передать? у Bundle нету команды вроде putObject()
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть таблица orders(TABLE_NAME = "orders") и столбец robotNum(COLUMN_ROBOT_NUMBER = "robotNum")Суть в том, что пользователь вводит число, которое должно сравниваться с теми,...
Пытаюсь парсить две таблицы одна в файлеxls вторая в
Я использую spring + jpa + hibernate и мне нужно чтобы у объекта родителя (пользователь) было много потомков (заметок), следовательно я должен использовать...