Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

Fragment切换或回退时空白,RecyclerView提示 No adapter attached; skipping layout

当Fragment包含RecyclerView时,首次加载Fragment页面可以正常加载RecyclerView。但是当切换到别的Fragment再回退时,或者二次加载Fragment时,加载不出页面,报错:No adapter attached; skipping layout

解决:只要在onCreateView里重新设置一遍setLayoutManager、setAdapter即可

注:Fragment回退或重新加载时所有的View及与View绑定的数据、适配器Adapter等都需要重新设置,否则相关数据显示都是空的,除非复用上一次View!特别注意Adapter不要进行非空判断然后使用Adapter.notifyDataSetChanged刷新,因为View已经重新创建并可能已经回收,但Adapter还是原来的!

即在不复用View的情况下:

//if (mAdapter == null) {
    mAdapter = new MyAdapter(mDataList);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(context));
    mRecyclerView.setAdapter(mAdapter);
//} else {
    //mAdapter.notifyDataSetChanged();
//}
上一篇 Android inflate()引发NullPointerException
下一篇 Android AES加解密(兼容Android7.0)