简体   繁体   中英

How can I retrieve data from FireBase to my adapter not the key

I have some problem with my firebase database, I am working with expenses app that records all daily expenses, everything is fine until when I need to retrieve my expenses values in the database. but the data is not showing just the key values (-M3TMhptR...) not inside the key values (exName, exAmount,...).

在此处输入图片说明

火

this is my code:

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);

添加 getValue()

database.getReference("Expenses").child("2020").child("03").getValue();

我用我的日志类解决了我的问题,字符串名称必须与数据库值中的名称相同。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM