Как получить отдельные значения из списка массивов в Android - PullRequest
0 голосов
/ 01 апреля 2020

В MySql базе данных у меня есть таблица продуктов с большим количеством столбцов:

категории, модель, цвет, размер, цена.

В приложении Android на SplashActivity я получаю данные из таблицы продуктов, сохраняю их в константе ArrayList и заполняю RecyclerView списком всех продуктов.

Как я могу получить разные категории, отличную модель, отличающийся цвет от этого массива? Я хочу использовать их в выпадающих списках для фильтрации списка товаров.

Так я получаю данные из таблицы Mysql и сохраняю их в Constant.allProducts,

            call.enqueue(new Callback<ProductMain>() {
                @Override
                public void onResponse(Call<ProductMain> call, Response<ProductMain> response) {
                    ProductMain main=response.body();
                    Constants.toateProdusele.clear();
                    Constants.toateProdusele.addAll(main.getProduse())
                    new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            startActivity(new Intent(SplashActivity.this,HomePageActivity.class));
                            overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
                            finish();
                        }
                    },1500);
                }

                @Override
                public void onFailure(Call<ProductMain> call, Throwable t) {
                    Toast.makeText(SplashActivity.this,""+t,Toast.LENGTH_LONG).show();

                }

            });
//and i populate the recyclerview
        arrayList = new ArrayList<>();
        arrayList.addAll(Constants.toateProdusele);
        adapter= new ProduseAdapter(HomePageActivity.this,  arrayList, ProductDetailActivity.class) ;
        list.setAdapter(adapter);
        adapter.notifyDataSetChanged();

1 Ответ

1 голос
/ 01 апреля 2020

Добро пожаловать в stackoverflow.

Вместо этого, чтобы сохранить его в ArrayList<>, используйте HashSet<>, который будет сохранять только уникальные значения,

Если список содержит объекты классов, определенных в ваш код, вам придется переписать метод equals() в этом классе, чтобы отличить guish, какие объекты отличаются друг от друга, а также метод hashcode()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...