Как я могу скрыть определенную категорию по идентификатору для некоторых пользователей в Android

#java #android

#java #Android

Вопрос:

Ниже приведен мой код. Я хочу скрыть некоторую категорию для некоторых пользователей на основе их выбора. Итак, кто-нибудь может, пожалуйста, сказать мне, как я могу это сделать? Я хочу отфильтровать некоторые категории для пользователей, которые выбирают овощи. Я храню эти данные в локальном хранилище через sharedprefs, поэтому, если пользователь выбирает veg, я хочу скрыть / отфильтровать элементы / категории, отличные от veg

 private void GetCategory() {
            Map<String, String> params = new HashMap<String, String>();
            categoryArrayList = new ArrayList<>();
    
            ApiConfig.RequestToVolley(new VolleyCallback() {
                @Override
                public void onSuccess(boolean result, String response) {
                    //System.out.println("======cate "   response);
                    if (result) {
                        try {
                            JSONObject object = new JSONObject(response);
                            if (!object.getBoolean(Constant.ERROR)) {
                                JSONArray jsonArray = object.getJSONArray(Constant.DATA);
    
                                for (int i = 0; i < jsonArray.length(); i  ) {
                                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                                    SharedPreferences prfs = getSharedPreferences("PREF", Context.MODE_PRIVATE);
                                    String pref = prfs.getString("pref", "");
    
                                    categoryArrayList.add(new Category(
                                            jsonObject.getString(Constant.ID),
                                            jsonObject.getString(Constant.NAME),
                                            jsonObject.getString(Constant.SUBTITLE),
                                            jsonObject.getString(Constant.IMAGE)));
    
                                }
                                categoryRecyclerView.setAdapter(new CategoryAdapter(
                                        MainActivity.this, categoryArrayList,
                                        R.layout.lyt_category, "cate"));
    
                            } else {
                                lytCategory.setVisibility(View.GONE);
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }, MainActivity.this, Constant.CategoryUrl, params, false);
        }
  

Ответ №1:

Вы можете использовать один флаг в Category модели, чтобы узнать, скрыты ли данные категории или нет, а затем в зависимости от открытого выбора veg / non-veg обновить список.