RecyclerView适配器无法工作

时间:2018-06-13 11:09:13

标签: android android-recyclerview

问题很简单,我使用了recyclerview适配器并设置了mainactivity.A应用程序启动但适配器字段只是白色空白。没错。当我调试时,我看到Adapter构造函数方法工作但是onBindViewHolder不起作用。

MainActivity OnCreate方法

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...
    recyclerView = (RecyclerView) findViewById(R.id.recycler_view);

    productList = new ArrayList<>();
    productAdapter = new ProductAdapter(this,productList);


    RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(this, 2);
    recyclerView.setLayoutManager(mLayoutManager);
    recyclerView.addItemDecoration(new GridSpacingItemDecoration(2, dpToPx(10), true));
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.setAdapter(adapter);

   productList = dbHelper.getAllProducts();
   productAdapter.notifyDataSetChanged();     
   ...
}

1 个答案:

答案 0 :(得分:1)

您可以将适配器的内容设置为产品列表,然后将该变量替换为dbHelper.getAllProducts()

解决方案1:使用productList.addAll(dbHelper.getAllProducts())

解决方案2:将内容的setter添加到适配器并使用adapter.setData(dbHelper.getAllProducts())或在末尾添加adapter.setData(productList)