亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

com.google.firebase.database.DatabaseException:

com.google.firebase.database.DatabaseException:

侃侃無極 2023-08-23 16:50:14
我正在制作一個購物應用程序,我想添加一個“訂單”選項卡,用戶可以在其中查看自己目前待處理的訂單。我已經在管理面板中創建了“訂單”選項卡,管理員可以在其中查看所有用戶訂單。我也對當前用戶的訂單列表活動使用了相同的代碼塊。但它顯示了每個用戶的所有訂單。我不知道如何解決這個問題。我有一個模型類來獲取當前在線用戶。我也嘗試過,但沒有成功。這是我嘗試過的...protected void onStart(){    super.onStart();    final DatabaseReference ordersRef = FirebaseDatabase.getInstance().getReference().child("Orders");    FirebaseRecyclerOptions<AdminOrders> options =            new FirebaseRecyclerOptions.Builder<AdminOrders>()                    .setQuery(ordersRef                            .child(Prevelant.currentOnlineUser.getUsername())                            , AdminOrders.class)                    .build();    FirebaseRecyclerAdapter<AdminOrders, AdminOrdersViewHolder> adapter =            new FirebaseRecyclerAdapter<AdminOrders, AdminOrdersViewHolder>(options) {                @Override                protected void onBindViewHolder(@NonNull final AdminOrdersViewHolder holder, final int position, final @NonNull AdminOrders model)                {                    holder.userName.setText("Name : "+ model.getName());                    holder.userPhoneNumber.setText("Phone Number : "+ model.getPhone());                    holder.userTotalPrice.setText("Total : Rs."+ model.getTotalAmount());                    holder.userDateTime.setText("Order Time : "+ model.getDate() + model.getTime());                    holder.userShippingAddress.setText("Address : "+ model.getAddress() + "," + model.getCity());                    holder.showOrdersBtn.setOnClickListener(new View.OnClickListener() {                        @Override                        public void onClick(View v)                        {                            String uID = getRef(position).getKey();                            Intent intent = new Intent(UserViewOrdersActivity.this, AdminUserProductsActivity.class);                            intent.putExtra("uid", uID);                            startActivity(intent);                        }                    });
查看完整描述

1 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

改變這個:


.setQuery(ordersRef

.child(Prevelant.currentOnlineUser.getUsername()), AdminOrders.class)

進入這個:


.setQuery(ordersRef, AdminOrders.class)

當您添加時child(Prevelant.currentOnlineUser.getUsername()),您將檢索屬性為String。所以你需要將json映射到模型類。例子:


 {

  "name":"John",

  "age":30,

  "cars": {

    "car1":"Ford",

    "car2":"BMW",

    "car3":"Fiat"

  }

 }

這cars是一個包含屬性car1、car2和 的對象car3。在你的例子中admin是對象,它的內部有屬性。


查看完整回答
反對 回復 2023-08-23
  • 1 回答
  • 0 關注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號