gpt4 book ai didi

java - 如何从 firebase 数据库中洗牌值以及如何显示 recyclerView?

转载 作者:行者123 更新时间:2023-12-02 01:37:27 25 4
gpt4 key购买 nike

我将数据存储在 firebase 实时数据库中,并希望以随机方式检索它们。例如,我需要为每个使用该应用程序的用户提供打乱的数据,并且每次用户刷新页面时,它都会给出随机打乱的值..

Because the data was more than 1000 + .. so every time giving a new data for user.

代码

protected void onStart() {
super.onStart();

DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Vacancy");

FirebaseRecyclerOptions<VacancyModel> options = new FirebaseRecyclerOptions.Builder<VacancyModel>()
.setQuery(reference.orderByChild("companyname"), VacancyModel.class)
.build();


FirebaseRecyclerAdapter<VacancyModel, VacancyViewHolder> adapter =
new FirebaseRecyclerAdapter<VacancyModel, VacancyViewHolder>(options) {

@Override
protected void onBindViewHolder(@NonNull VacancyViewHolder holder, int position, @NonNull final VacancyModel model) {




holder.vacompany_name.setText(model.getCompanyname());
holder.vajob_type.setText("Job Title: " + model.getJob_title());
holder.vatiming.setText(model.getTiming());
holder.vatotal_vacancy.setText("Total Vacancy: " +model.getTotal_vacancy());
holder.vasp.setText(model.getS_p());
holder.vaexpected_vasalary.setText("Expected Salary: " +model.getExpexted_salary());
holder.vaarea.setText("Area: " +model.getPincode());
holder.vaphone_number.setText("Contact Number: " +model.getContact_number());



holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {


Intent intent = new Intent(Home.this, VacancyViewActivity.class);
intent.putExtra("pid", model.getCompanyID());
startActivity(intent);

}

});
}


@NonNull
@Override
public VacancyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.vacancy_list_item, viewGroup, false);
VacancyViewHolder holder = new VacancyViewHolder(view);
return holder;
}

};

recyclerView.setAdapter(adapter);
adapter.startListening();


}

firebase Database

最佳答案

您为此采用了错误的RecyclerOptions

FirebaseRecyclerOptions 用于观察实时数据库,因此实时数据库上的更改按照实时数据库中的顺序呈现

为什么不使用像这样的基本 recyclerview 设置

databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {

for (DataSnapshot dataSnapshot : snapshot.getChildren()) {

StudentDetails studentDetails dataSnapshot.getValue(StudentDetails.class);

list.add(studentDetails);
}

//shuffle it after getting all the data

Collections.shuffle(list);

adapter = new RecyclerViewAdapter(ShowStudentDetailsActivity.this, list);

recyclerView.setAdapter(adapter);

//got all the data
}

@Override
public void onCancelled(DatabaseError databaseError) {

//cancel

}});

关于java - 如何从 firebase 数据库中洗牌值以及如何显示 recyclerView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57510847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com