2016-05-24 3 views
1

У меня есть 2 действия. В первом действии есть меню панели инструментов в виде корзины. Значение увеличивается или уменьшается, зависит от количества корзин. Следующая функция fragmnet имеет функцию Cart Cart. Мы можем удалить корзину.Как обновить предыдущую активность Меню ToolBar (Корзина) значение

Рассмотрим образы:

  1. Image 1 имеет количество повозки функциональности страницы 3.
  2. Корзина имеет счет в качестве 3.
  3. Теперь я удалить первый продукт.
  4. На соответствующей странице вычитается из предыдущего значения.
  5. Но пока я прихожу к первому действию, он не обновляется, а не 2, он имеет 3 в качестве подсчета корзины.

Как обновить первое действие, пока я использую onBackpressed второе действие. Пожалуйста, помогите мне.

enter image description here

+0

тейк preference в вашем втором действии и принять значение в sharedpreference, перенесите его в первую активность и обновите свою корзину в своем первом действии –

ответ

1

я достиг его с помощью invalidateOptionsMenu();

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 

    badgeLayout = (RelativeLayout) menu.findItem(R.id.badge).getActionView();   /*-------Cart Basket with Counter---------*/ 
    mCounter = (TextView) badgeLayout.findViewById(R.id.counter); 

    CommonUtil.dbUtil.open(); 
    MainFragmentAdapter.CART_COUNT = String.valueOf(CommonUtil.dbUtil.getCartItem().getCount()); 
    MainActivity.mCounter.setText(MainFragmentAdapter.CART_COUNT); 

    invalidateOptionsMenu(); 

    badgeLayout.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Config.menuItemClicked = true; 
      SharedPreferences.Editor editor = CommonUtil.pref.edit(); 
      editor.putBoolean("cart_Clicked", Config.menuItemClicked); 
      editor.apply(); 
      Intent next = new Intent(context, ProductActivity.class); 
      startActivity(next); 
     } 
    }); 
    return super.onCreateOptionsMenu(menu); 
} 
1

Вы можете получить ссылку на активность ((YourHomeActivity) getActivity()) в классе фрагмента. Сделайте свою переменную панели инструментов общедоступной и получите доступ к ней через ссылку на активность, чтобы обновить ее.

+0

Спасибо @Hitesh Sahu –

2

В методе onRestart первого действия проверяется количество товаров в корзине (например, его увеличение или уменьшение). onPrepareOptionmenu метод обновления счетчика (убедитесь, что ваш счет обновлен до первой активности). вы должны поддерживать tempcount и фактический счет. Надеюсь ты понимаешь!

+0

Спасибо @Dhawal Sodha Parmar –

1

Одна вещь, которую вы можете сделать, это использовать Sharepreference для хранения значения корзину поэтому он будет делать изменения все действия и поместить код в onResume() метод

+0

Спасибо @Kinjan Jain –

+0

рад помочь вам –

 Смежные вопросы

  • Нет связанных вопросов^_^