Android開發中使用RecyclerView注意事項
阿新 • • 發佈:2019-01-26
Android5.0出現的時間已經很久了,基本上所有的公司都已經適配到5.0的版本,所以RecyclerView作為非常好用的控制元件在開發過程中必不可少。
在使用RecyclerView(為了方便寫,下面稱RV)開發的過程中,對於新手來說,可能會出現一個錯誤:
那麼這個錯誤是怎麼造成的呢?
我們都知道,我們在使用RV控制元件的時候必須設定一個LayoutManager,然後指定是橫向顯示還是縱向顯示,所以我們去設定一個
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView$LayoutManager.onMeasure(android.support.v7.widget.RecyclerView$Recycler, android.support.v7.widget.RecyclerView$State, int, int)' on a null object reference
LinearLayoutMannager
<span style="font-size:14px;">LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);</span>
然後我們執行,可是還有可能會報這個錯誤(生無可戀臉- .-),那麼根源到底在哪裡呢?
我們都知道和ListView一樣,RecyclerView也需要設定一個介面卡,所以,我們在設定介面卡的時候一定要注意,
recyclerView.setLayoutManager(layoutManager);
設定LayoutManager一定要寫在設定介面卡之前,再次執行,錯誤解決。
recyclerView.setAdapter(mAdapter);
另外,在安卓API22版本中,這個錯誤並不會顯示,而是提示
RecyclerView﹕ No adapter attached; skipping layout
但是這個RV控制元件不會顯示出來。