问题很简单,我使用了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();
...
}
答案 0 :(得分:1)
您可以将适配器的内容设置为产品列表,然后将该变量替换为dbHelper.getAllProducts()
解决方案1:使用productList.addAll(dbHelper.getAllProducts())
解决方案2:将内容的setter添加到适配器并使用adapter.setData(dbHelper.getAllProducts())
或在末尾添加adapter.setData(productList)