@kirawa

Почему onOptionsItemSelected может обнулять состояние фрагмента?

Добрый день. Вот не пойму в чем проблема.
Есть параметр ТИП_ЗАГРУЗКИ (byte)0 или 1, который я передаю в аргументы фрагмента.
если я первоначально создал фрагмент с ТИП_ЗАГРУЗКИ 1 то тоже все ок.
Но стоит создать фрагмент с типом ТИП_ЗАГРУЗКИ 0, то почему то в onOptionsItemSelected всегда приходит 0, даже если я отправляю 1. В onCreateView из аргументов я получаю все так как нужно.

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 Log.d(TAG, String.valueOf("onCreateView: " + this.loadGoodsTask_MODE +"  ||  "+getArguments().getByte(EXTRA_GOODS_LIST)));
return inflater.inflate(R.layout.goods_list, container, false);
}

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        Log.d(TAG, String.valueOf("onOptionsItemSelected: " + this.loadGoodsTask_MODE +"  ||  "+getArguments().getByte(EXTRA_GOODS_LIST)));
        for (MenuItemObject itemObject : menuItemObjects) {
            int itemId = itemObject.getId();
            if (item.getItemId() == itemId) {
                if (!item.isChecked()) {
                    if (loadGoodsTask_MODE == GoodsList.MODE_LIST) {
                        resetIndex();
                        listLazyGoods.clear();
                        item.setChecked(true);
                        itemObject.setChecked(true);
                        initData(menuItemObjects);
                    } else {
                        item.setChecked(true);
                        itemObject.setChecked(true);
                        startSearchGoods(modeRadio, mMLCategory, null, menuItemObjects);
                    }
                } else {
                    if (loadGoodsTask_MODE == GoodsList.MODE_LIST) {
                        resetIndex();
                        listLazyGoods.clear();
                        item.setChecked(false);
                        itemObject.setChecked(false);
                        initData(menuItemObjects);
                    } else {
                        item.setChecked(false);
                        itemObject.setChecked(false);
                        startSearchGoods(modeRadio, mMLCategory, null, menuItemObjects);
                    }
                }
            }
        }

        setSubtitle();
        searchView.setOnQueryTextListener(queryTextListener);
        return true;
    }


onCreateView: 1 || 1
onOptionsItemSelected: 0 || 0

хм. попробывал записывать ТИП_ЗАГРУЗКИ в SharedPreferences, но далее оказалось что у меня еще и адаптер списка стал равен null
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы