1. 程式人生 > >No adapter attached; skipping layout 原因、解決辦法

No adapter attached; skipping layout 原因、解決辦法

當問題出現的時候不光要解決還要知道為什麼

眾所周知,RecyclerView的出現不光可以代替ListView,也可以代替GridView,所以啊大胸弟,你在用的時候要告訴系統你要代替的是哪個啊,就是所謂的初始化配置,不配置就會警告報錯、不顯示資料

分割線可以不設定,動畫也可以不設定,但是LayoutManager必須設定。


隨意示範一下

        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
        mRecyclerView.setLayoutManager(linearLayoutManager);

上面用的是LinearLayoutManager的第二個構造方法,必要的引數都有了,當然也可以用第一個構造,貼一下這個構造的程式碼:

    /**
     * @param context       Current context, will be used to access resources.
     * @param orientation   Layout orientation. Should be {@link #HORIZONTAL} or {@link
     *                      #VERTICAL}.
     * @param
reverseLayout When set to true, layouts from end to start. */
public LinearLayoutManager(Context context, int orientation, boolean reverseLayout) { setOrientation(orientation); setReverseLayout(reverseLayout); setAutoMeasureEnabled(true); }

當然,不要忘了 mRecyclerView.setAdapter(mAdapter);

幾種LayoutManager

  • LinearLayoutManager 線性佈局管理器

  • GridLayoutManager 表格佈局管理器

  • StaggeredGridLayoutManager 瀑布流佈局管理器