Android Studio Firebase获取数据[重复]

问题描述 投票:0回答:1

这个问题与以下内容完全相同:

我正在尝试使用android studio来获取firebase数据并将其显示在屏幕上。我试图将与其相关的数据库中的任何内容显示到RecyclerView。但是数据没有返回,也没有显示(没有错误声明)。有什么想法吗?

private void firebaseLotSearch() {

        Toast.makeText(BuyingParking.this,"Started Search",Toast.LENGTH_LONG).show();
        Query query = mUserDatabase.startAt(searchText).endAt(searchText+"\uf8ff");
                FirebaseRecyclerOptions<Lot_Location> options =
                new FirebaseRecyclerOptions.Builder<Lot_Location>()
                        .setQuery(query, Lot_Location.class)
                        .build();

        //   Lot_Location.class,R.layout.list_layout,LotViewHolder.class,mUserDatabase
        FirebaseRecyclerAdapter<Lot_Location,LotViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Lot_Location, LotViewHolder>(options) {
            @Override
            protected void onBindViewHolder(@NonNull LotViewHolder holder, int position, @NonNull Lot_Location model) {

                holder.setDetails(model.getLocation(),model.getAdmin(),model.getPrice());

            }
            @NonNull
            @Override
            public LotViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
                return null;
            }
        };
        searchParking.setAdapter(firebaseRecyclerAdapter);
    }

    public class LotViewHolder extends RecyclerView.ViewHolder{
        public LotViewHolder(@NonNull View itemView) {
            super(itemView);
            mView = itemView;
        }

        public void setDetails(String location,String admin,String price)
        {
            TextView m_location = (TextView)mView.findViewById(R.id.Lot);
            TextView m_admin = (TextView)mView.findViewById(R.id.Admin);
            TextView m_price = (TextView)mView.findViewById(R.id.price);

            m_location.setText(location);
            m_admin.setText(admin);
            m_price.setText(price);
        }

    }
java android firebase firebase-realtime-database
1个回答
0
投票

onCreateViewHolder返回null。您需要返回LotViewHolder类的对象。

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View rootView = mInflater.inflate(R.layout.your_item_view, parent, false);
    ViewHolder holder = new ViewHolder(rootView);
    return holder;
}
© www.soinside.com 2019 - 2024. All rights reserved.