【问题标题】:RecyclerView Android Studio not showing data from Firebase DatabaseRecyclerView Android Studio 不显示 Firebase 数据库中的数据
【发布时间】:2019-01-04 03:32:18
【问题描述】:

我正在尝试让我的 Recyclerview 显示我的 Firebase 数据,但它没有显示,我的日志中没有错误。

public class Look extends AppCompatActivity {

    RecyclerView recyclerView;
    DatabaseReference databaseReference;
    FirebaseRecyclerOptions<Object> options;
    FirebaseRecyclerAdapter<Object,CategoryViewHolder> adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_look);
        Intent intent = getIntent();
        recyclerView = (RecyclerView) findViewById(R.id.recyclerview);
        recyclerView.setHasFixedSize(true);
        databaseReference = FirebaseDatabase.getInstance().getReference().child("message");

        options = new FirebaseRecyclerOptions.Builder<Object>()
                .setQuery(databaseReference, Object.class).build();
        adapter = new FirebaseRecyclerAdapter<Object, CategoryViewHolder>(options) {

            @Override
            protected void onBindViewHolder(CategoryViewHolder holder, int position, Object model) {


                holder.Type.setText(model.getType());
                holder.Color.setText(model.getColor());
            }

            @Override
            public CategoryViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
                View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_category_item, parent, false);


                return new CategoryViewHolder(view);

            }
        };

        GridLayoutManager gridLayoutManager = new GridLayoutManager(getApplicationContext(), 2);
        recyclerView.setLayoutManager(gridLayoutManager);
        adapter.startListening();
        recyclerView.setAdapter(adapter);

    }
    @Override
    protected  void onStart(){
       super.onStart();
       if(adapter!=null)
           adapter.startListening();


    }
    @Override
    protected void onStop() {
        super.onStop();
        if (adapter != null)
            adapter.stopListening();

    }
    @Override
    protected void onResume(){
        super.onResume();
        if(adapter!=null)
            adapter.startListening();


    }

}

一般来说,代码在构建时没有错误,在运行时也没有错误。作为参考,我在 Android 模拟器上运行它。模拟器缓冲,然后它不显示我的任何数据,然后停止。因此,我想知道我的错误是什么。

【问题讨论】:

    标签: android firebase firebase-realtime-database android-recyclerview


    【解决方案1】:

    我的对象类不包含无参数构造函数,添加一个可以解决问题。

    【讨论】:

      猜你喜欢
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-15
      相关资源
      最近更新 更多