過(guò)濾回收查看微調(diào)器與選定的學(xué)生類(lèi)?

我想根據(jù)在spinner上選擇的學(xué)生類(lèi)在RecyclerView上獲取項(xiàng)目。如果學(xué)生在RecyclerView中有rollno,name,class。我只想要第八名的學(xué)生e.g??I我在使用firebase Firestore。現(xiàn)在我有一個(gè)recyclerwiw,它獲取所有文檔(學(xué)生)和(name,rollNo,class)。

適配器的代碼是:公共類(lèi)ClasswiseAdapter擴(kuò)展RecyclerView.適配器<ClasswiseAdapter.studentViewHolder>{私有ArrayList類(lèi)列表;

public ClasswiseAdapter(ArrayList<ModelViewClasswise> classlist) {

    this.classlist = classlist;


}

@NonNull
@Override
public ClasswiseAdapter.studentViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.row_classwise,parent,false);
    return new ClasswiseAdapter.studentViewHolder(view);


}

@Override
public void onBindViewHolder(@NonNull studentViewHolder holder, int position) {

    holder.t1.setText(classlist.get(position).getName());
    holder.t2.setText(classlist.get(position).getClassName());
    holder.t3.setText(classlist.get(position).getRollNumber());


}







@Override
public int getItemCount() {
    return classlist.size();


}




class studentViewHolder extends RecyclerView.ViewHolder{
    TextView t1,t2,t3;

    public studentViewHolder(@NonNull View itemView) {
        super(itemView);
        t1=itemView.findViewById(R.id.nameC);
        t2=itemView.findViewById(R.id.classC);
        t3=itemView.findViewById(R.id.rollNumC);

    }
}

}

學(xué)生類(lèi)視圖的代碼是:public class view classwise extends AppCompatActivity{

private static final String TAG = ViewClasswise.class.getSimpleName();

private RecyclerView recyclerViewCW;
ArrayList<ModelViewClasswise>classlist;
FirebaseFirestore db;
FirebaseAuth fAuth;
ClasswiseAdapter classwiseAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view_classwise);

    recyclerViewCW = findViewById(R.id.recyclerviewCW);
    recyclerViewCW.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));

    recyclerViewCW.setLayoutManager(new LinearLayoutManager(this));
    classlist=new ArrayList<>();
    classwiseAdapter=new ClasswiseAdapter(classlist);
    recyclerViewCW.setAdapter(classwiseAdapter);

    db= FirebaseFirestore.getInstance();
    fAuth= FirebaseAuth.getInstance();
    FirebaseUser user = fAuth.getCurrentUser();
    db.collection("Schools").document(user.getUid()).collection("Students").get()
            .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                @Override
                public void onSuccess(QuerySnapshot queryDocumentSnapshots) {

                    List<DocumentSnapshot> list=queryDocumentSnapshots.getDocuments();

                    for(DocumentSnapshot d:list){

                        ModelViewClasswise obj=d.toObject(ModelViewClasswise.class);
                        classlist.add(obj);
                    }
                    //Update Adapter

                    classwiseAdapter.notifyDataSetChanged();
                }
            });



}

}

? 最佳回答:

首先在適配器類(lèi)中添加一個(gè)函數(shù)addNewList,根據(jù)用戶(hù)的選擇更新classlist

Adapter class

 public void addnewList(ArrayList<ModelViewClasswise> newClassList){
     this.classlist = newClassList;
     notifyDataSetChanged()
 }

Main activity

// assuming you have initialized the spinner with the data to show

yourSpinner.setOnItemSelectedListener(new OnItemSelectedListener() 
{
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) 
    {
        // this returns the class the user selected
        String selectedClass = parentView.getItemAtPosition(position);

        classwiseAdapter.addnewList(listForClass(selectedClass))
    }

    @Override
    public void onNothingSelected(AdapterView<?> parentView) 
    {
       
    }
});


// function to filter the list based on the users choice
 private ArrayList<ModelViewClasswise> listForClass(String selectedClass){
    ArrayList<ModelViewClasswise> newList = new ArrayList<>();
    
    for(ModelViewClasswise modelClass : classlist){
           if(modelClass.getClass().equals(selectedClass))
                 newList.add(modelClass);
    }

   return newList;
 }
主站蜘蛛池模板: 精品一区二区三区在线视频观看| 国产福利一区二区| 99精品国产高清一区二区麻豆| 国产乱码一区二区三区| 波多野结衣av高清一区二区三区| 亚洲av不卡一区二区三区| 亚洲av成人一区二区三区在线观看 | 激情久久av一区av二区av三区| 成人精品视频一区二区三区不卡| 国产AV一区二区精品凹凸| 无码人妻啪啪一区二区| 国产日本亚洲一区二区三区| 无码人妻精品一区二区| 免费视频精品一区二区三区| 日韩一本之道一区中文字幕| 波多野结衣高清一区二区三区| 在线观看一区二区三区视频| 亚洲A∨精品一区二区三区下载| 国产吧一区在线视频| 精品女同一区二区三区免费站| 人妻少妇精品视频一区二区三区 | 日本一区二区三区在线观看 | 国产精品盗摄一区二区在线| 亚洲综合av一区二区三区| 日韩免费一区二区三区在线播放| 末成年女A∨片一区二区| 麻豆国产一区二区在线观看| 久久无码人妻一区二区三区| 无码aⅴ精品一区二区三区浪潮| 国产自产V一区二区三区C| 日本一区精品久久久久影院| 日本成人一区二区| 精品一区二区三区无码免费视频 | 狠狠综合久久av一区二区| 国产日产久久高清欧美一区| 午夜视频在线观看一区二区| 国产嫖妓一区二区三区无码| 亚洲AⅤ视频一区二区三区| 久久久精品一区二区三区| 一区高清大胆人体| 波多野结衣AV一区二区三区中文 |