Как получить мои данные внутри случайного ключа?

Я хочу получить данные внутри случайного ключа, как показано здесь:

Как получить мои данные внутри случайного ключа?

Я использую Firebase и много чего пробовал, но не могу решить эту проблему.

public class MainActivity extends AppCompatActivity {

    public RecyclerView recyclerView , recyclerView1 ;
    public DatabaseReference ref;

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

        {
            ref = FirebaseDatabase.getInstance().getReference().child("Requests");
            recyclerView = (RecyclerView) findViewById(R.id.recycler_food);
            recyclerView.setHasFixedSize(true);
            recyclerView.setLayoutManager(new LinearLayoutManager(this));

            FirebaseRecyclerAdapter<Food, FoodViewHolder> adapter = new FirebaseRecyclerAdapter<Food, FoodViewHolder>(
                    Food.class,
                    R.layout.individual_row,
                    FoodViewHolder.class,
                    ref
            ) {
                @Override
                protected void populateViewHolder(FoodViewHolder viewHolder, Food model, int position) {

                    viewHolder.setProductName(model.getProductName());
                    viewHolder.setQuantity(model.getQuantity());

                }
            };
            LinearLayoutManager layoutManager
                    = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
            recyclerView.setAdapter(adapter);
        }

        ref = FirebaseDatabase.getInstance().getReference().child("Requests");
        recyclerView1 = (RecyclerView) findViewById(R.id.recycler_foods);
        recyclerView1.setHasFixedSize(true);
        recyclerView1.setLayoutManager(new LinearLayoutManager(this));

        FirebaseRecyclerAdapter<Food, FoodViewHolder> adapter = new FirebaseRecyclerAdapter<Food, FoodViewHolder>(
                Food.class,
                R.layout.individual_row,
                FoodViewHolder.class,
                ref
        ) {
            @Override
            protected void populateViewHolder(FoodViewHolder viewHolder, Food model, int position) {

                viewHolder.setProductName(model.getProductName());
                viewHolder.setQuantity(model.getQuantity());

            }
        };
        LinearLayoutManager layoutManager
                = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
        recyclerView1.setAdapter(adapter);
    }

    public static class FoodViewHolder extends RecyclerView.ViewHolder {

        TextView text_productName , text_quantity , text_customername;
        public FoodViewHolder(View itemView) {
            super(itemView);
            text_productName = (TextView) itemView.findViewById(R.id.food_name);
            text_quantity = (TextView) itemView.findViewById(R.id.food_qty);


        }

        public void setProductName(String productName) {
            text_productName.setText(productName);

        }

        public void setQuantity(String quantity) {
                text_quantity.setText(quantity);

        }
    }

Что вы имеете в виду, сэр?

Kurt Sarmiento 15.09.2018 14:49

хочешь получить в андроиде?

Syed Qasim Ahmed 15.09.2018 14:50

Можете ли вы дать мне образец кода, чтобы я не понял, спасибо

Kurt Sarmiento 15.09.2018 14:50

Да в андроид сэр

Kurt Sarmiento 15.09.2018 14:50

в приложении для Android, пожалуйста, покажите свой код, где вы хотите получить это

Syed Qasim Ahmed 15.09.2018 14:52

Я хочу получить данные внутри узла случайного ключа

Kurt Sarmiento 15.09.2018 14:52

Можете ли вы опубликовать код, который вы пробовали

Syed Qasim Ahmed 15.09.2018 14:53

Я отредактировал сообщение, пожалуйста, посмотрите сообщение, сэр, я вставляю туда код

Kurt Sarmiento 15.09.2018 14:55

Вы можете написать код, как получить эти данные, сэр? Я новичок, я мало разбираюсь в разработке Android

Kurt Sarmiento 15.09.2018 15:09

Проверьте это также ссылка

Syed Qasim Ahmed 15.09.2018 15:12

Вы можете написать пример кода, сэр?

Kurt Sarmiento 15.09.2018 15:19
0
11
99
1

Ответы 1

Вы создаете адаптер на Requests. Это означает, что в представлении ресайклера будет отображаться список запросов: поэтому одна строка для каждого запроса. Но вы создали классы данных Food и FoodViewHolder, поэтому кажется, что вы действительно хотите отобразить список продуктов.

Чтобы отобразить список продуктов в представлении утилизации, у вас должен быть список продуктов в вашей базе данных. Например, вы можете показать продукты для первого запроса, определив DatabaseReference для этого запроса, а затем показывая это в адаптере:

DatabaseReference requestsRef = FirebaseDatabase.getInstance().getReference().child("Requests");
Query firstRequestQuery = requestsRef.orderByKey().limitToFirst(1);
firstRequestQuery.addListenerForSingleValueEvent(new ValueEventListener() {
  @Override
  public void onDataChange(DataSnapshot dataSnapshot) {
    for (DataSnapshot requestSnapshot: dataSnapshot.getChildren()) {
        FirebaseRecyclerAdapter<Food, FoodViewHolder> adapter = new FirebaseRecyclerAdapter<Food, FoodViewHolder>(
                Food.class,
                R.layout.individual_row,
                FoodViewHolder.class,
                requestSnapshot.getRef().child("foods")
        ) {
            @Override
            protected void populateViewHolder(FoodViewHolder viewHolder, Food model, int position) {
                viewHolder.setProductName(model.getProductName());
                viewHolder.setQuantity(model.getQuantity());
            }
        };
        recyclerView.setAdapter(adapter);
    }
  }

  @Override
  public void onCancelled(DatabaseError databaseError) {
    throw databaseError.toException();
  }
}

Хотя с кодом могут быть некоторые проблемы, он демонстрирует, как показать продукты первого запроса в представлении ресайклера. Ключ - requestSnapshot.getRef().child("foods"), который гарантирует, что адаптер загружает продукты по первому запросу.

Как я могу получить все данные под случайным ключом, сэр? Специально productName и qty. Я хочу получить все productName и qty под этим случайным ключом в recyclerview, надеюсь, вы мне поможете

Kurt Sarmiento 15.09.2018 16:36

Как этот комментарий соотносится с тем, что я объяснил в своем ответе?

Frank van Puffelen 15.09.2018 16:40

Потому что мой вопрос в том, как получить данные внутри случайного ключа.

Kurt Sarmiento 15.09.2018 17:11

Привет, сэр, что мне поставить на FoodViewHolder?

Kurt Sarmiento 15.09.2018 17:26

Другие вопросы по теме