#android #android-recyclerview
#Android #android-recyclerview
Вопрос:
Я хочу, чтобы список переработчиков сортировался по возрастанию или убыванию на основе значения randomNum в нем. Я не знаю, как сортировать список переработчиков локально. Список переработчиков заполняется на основе данных Firestore, поэтому его сложно сортировать, как и другие методы, доступные в Интернете, и я новичок в программировании на Java, поэтому буду признателен за любую помощь. Все данные в RecyclerView поступают из Firestore. Мой код ниже —-
CollectionReference collectionReference = db.collection("products");
Query resultQuery = collectionReference.whereEqualTo("name", "xyz");
FirestoreRecyclerOptions<ProductModel> resultOptions = new FirestoreRecyclerOptions.Builder<ProductModel>().setQuery(resultQuery, ProductModel.class).build();
FirestoreRecyclerAdapter resultAdapter = new FirestoreRecyclerAdapter<ProductModel, ProductViewHolder>(resultOptions) {
@NonNull
@Override
public ProductViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.product_card, parent, false);
return new ProductViewHolder(view);
}
@Override
protected void onBindViewHolder(@NonNull final ProductViewHolder holder, int position, @NonNull ProductModel model) {
holder.name.setText(model.getName());
holder.price.setText(model.getPrice());
Random random = new Random();
randomNum = random.nextInt(1000);
}
};
resultAdapter.startListening();
productList.setHasFixedSize(true);
productList.setLayoutManager(new LinearLayoutManager(this));
productList.setAdapter(resultAdapter);
}
private class ProductViewHolder extends RecyclerView.ViewHolder {
private TextView name, price;
private int randomNum;
public ProductViewHolder(@NonNull View itemView) {
super(itemView);
name = itemView.findViewById(R.id.product_name);
price = itemView.findViewById(R.id.product_price);
}
}
Комментарии:
1. вы имеете в виду, что хотите в основном перетасовать свой запрос?
2. @MehranBehbahani Я хочу отсортировать результат запроса на основе случайного числа, от наибольшего числа к наименьшему или наоборот.
3. чем это отличается от перетасовки?