У меня есть 3 вкладки: «Домой», «Поиск», «Корзина».
Большая часть того, что я наткнулся, была наPagedSelected, а это не то, что я хочу.Ничто не указывает на мою цель, или я что-то не так понимаю.
Во фрагменте корзины у меня есть просмотр списка, в котором отображаются все элементы, имеющие кнопки увеличения (+) и уменьшения (-), а также текстовое поле между ними для отображенияколичественное значение.При нажатии кнопки увеличения или уменьшения я хочу, чтобы тот же фрагмент корзины обновлялся или перезагружался и отображал новое значение приращения, которое приведет к новой цене.
все, что я сделал, было нажатием кнопки, сохранение метода приращениязатем в базу данных я назвал фрагмент корзины пустой конструкцией, чтобы все можно было воссоздать, но я не получил никакого результата.
Попытка / исследование: Мои фрагменты на вкладке в ViewPager не обновляются: Мои фрагменты на вкладке ViewPager не обновляются
Просмотр жизненного цикла пейджера и фрагмента: Просмотр пейджера ижизненный цикл фрагмента
Обновить фрагмент PageViewer каждый раз, когда пользователь выбирает фрагмент: http://semycolon.blogspot.com/2014/12/refresh-pageviewer-fragment-everytime.html
Обновить фрагмент: https://medium.com/@taman.neupane/fragment-refresh-9ba6a6d7b897
Обновить фрагмент PageViewer каждый раз, когда пользователь выбирает фрагмент: http://semycolon.blogspot.com/2014/12/refresh-pageviewer-fragment-everytime.html
ViewPager withgmentPagerAdapter: https://guides.codepath.com/android/viewpager-with-fragmentpageradapter
Вот класс BaseAdapter, который заполняет ListView, показанный во фрагменте корзины
Button increaseItemQuantity = view.findViewById(R.id.increaseItemQuantity);
increaseItemQuantity.setOnClickListener(new View.OnClickListener() {
private int itemCount;
@Override
public void onClick(View view) {
if(cart.getTestcart_quantity() > 0){
itemCount = cart.getTestcart_quantity() + 1;
new CartManager(context, cart.getUser_id(), cart.getProduct() , itemCount).updateCart();
displayQuantity.setText(String.valueOf(itemCount));
// the does not update the new value in the textbox between the plus and minus button in my UI
new UserCart(); // on success it came back here to call the same cart fragment class after button click
Log.d("Message", String.valueOf(itemCount));
}
}
});
Вот мой HomePageActivty
final ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
//Adding Fragments
adapter.addFragment(new ContentOne(), "");
adapter.addFragment(new ContentTwo(), "");
adapter.addFragment(new UserCart(), "");
//adapter setup
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
Вот мой ViewPageAdapter
public class ViewPagerAdapter extends FragmentStatePagerAdapter {
private List<Fragment> fragmentList = new ArrayList<>();
private List<String> fragmentListTitle = new ArrayList<>();
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new ContentOne();
case 1:
return new ContentTwo();
case 2:
return new UserCart();
default:
return null;
}
}
@Override
public int getCount() {
return fragmentListTitle.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return fragmentListTitle.get(position);
}
public void addFragment(Fragment fragment, String Title){
fragmentList.add(fragment);
fragmentListTitle.add(Title);
}
}