#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 обновить список.