Как я могу получить данные из FireBase на мой адаптер, а не ключ - PullRequest
0 голосов
/ 29 марта 2020

У меня возникла проблема с базой данных Firebase, я работаю с приложением расходов, которое записывает все ежедневные расходы, все в порядке, пока мне не нужно получить значения расходов в базе данных. но данные показывают не только значения ключа (-M3TMhptR ...), но не значения ключа (exName, exAmount, ...).

enter image description here

fire

это мой код:

database = FirebaseDatabase.getInstance();
String the_key = database.getReference("Expenses").child("2020").child("03").getKey();
mDatabase = database.getReference("Expenses").child("2020").child("03");

mRecyclerView = (RecyclerView) findViewById(R.id.RecycleView);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setHasFixedSize(true);


Query query = mDatabase.orderByValue();

mDatabase.keepSynced(true);
FirebaseRecyclerOptions<Journal> options =
        new FirebaseRecyclerOptions.Builder<Journal>()
                .setQuery(query, Journal.class)
                .build();

adapter = new FirebaseRecyclerAdapter<Journal, ViewHolder>(options) {
    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.item_journal, parent, false);

        //closeProgressBar();

        return new ViewHolder(view);
    }

    //
    @Override
    protected void onBindViewHolder(@NonNull final ViewHolder holder, final int position, @NonNull final Journal model) {

        final String post_key = adapter.getRef(position).getKey();


        holder.setexpName(model.getExpenseName());
        holder.setexpType(model.getExpenseType());
        holder.setexpDate(post_key);


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

            }
        });

    }
    @Override
    public void onDataChanged() {
        super.onDataChanged();
    }

};

mRecyclerView.setAdapter(adapter);

Ответы [ 2 ]

0 голосов
/ 29 марта 2020

Я решил свою проблему с моим классом журнала, имена строк должны совпадать с именем в значении базы данных.

0 голосов
/ 29 марта 2020

Добавить getValue ()

database.getReference("Expenses").child("2020").child("03").getValue();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...