Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中从数组列表中获取不同的值_Java_Android_Mysql - Fatal编程技术网

Java 如何在Android中从数组列表中获取不同的值

Java 如何在Android中从数组列表中获取不同的值,java,android,mysql,Java,Android,Mysql,在MySql数据库中,我有一个包含更多列的产品表: 种类、型号、颜色、尺寸、价格 在Android应用程序的SplashActivity中,我从products表中获取te数据,将其保存在常量ArrayList中,并用所有产品列表填充RecyclerView 如何从这个arraylist中获得不同的类别、不同的模型和不同的颜色?我想使用Dropbox中的过滤器来过滤产品列表 这就是我从Mysql表中获取数据并将其保存在常量中的方法 call.enqueue(new Cal

在MySql数据库中,我有一个包含更多列的产品表:

种类、型号、颜色、尺寸、价格

在Android应用程序的
SplashActivity
中,我从products表中获取te数据,将其保存在常量
ArrayList
中,并用所有产品列表填充
RecyclerView

如何从这个arraylist中获得不同的类别、不同的模型和不同的颜色?我想使用Dropbox中的过滤器来过滤产品列表

这就是我从Mysql表中获取数据并将其保存在常量中的方法

            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();

call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
ProductMain=response.body();
常数toateProdusele.clear();
Constants.toateProdusele.addAll(main.getProduse())
new Handler().postDelayed(new Runnable()){
@凌驾
公开募捐{
startActivity(新意图(SplashActivity.this、HomePageActivity.class));
覆盖转换(R.anim.fade\u in,R.anim.fade\u out);
完成();
}
},1500);
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
Toast.makeText(SplashActivity.this,“+t,Toast.LENGTH_LONG.show();
}
});
//我填充了recyclerview
arrayList=新的arrayList();
addAll(Constants.toateProdusele);
adapter=新的ProduseAdapter(HomePageActivity.this、arrayList、ProductDetailActivity.class);
list.setAdapter(适配器);
adapter.notifyDataSetChanged();

欢迎来到stackoverflow

要将其保存在
ArrayList
中,请使用只保存唯一值的
HashSet


如果列表包含代码中定义的类的对象,则必须覆盖该类中的
equals()
方法,以区分哪些对象彼此不同,以及
hashcode()
方法

常量的类型。toateProdusele<代码>列表?在类常量中,我有:publicstaticlist-toateProdusele=newarraylist();如何从该数组中获取哈希集?我需要3个hasset,一个用于类别,一个用于模型,一个用于颜色,而不是
public static List to teprodusele=new ArrayList()
use
public static Set to teprodusele=new HashSet()
,但您需要重写方法equals()对于类ProduseNote:OP还应覆盖类型为
T
Object::hashcode
Object::equals
。如何将一个哈希集放入对话框的列表中?这是我将数据放入哈希集的方式:public void getFilter(listallProduct){if(allProduct.size()>0){categorie.clear();for(int i=0;i