空指针了 运行不起来 日志如下
2019-08-23 10:44:25.666 25587-25587/com.evrencoskun.tableviewsample E/AndroidRuntime: FATAL EXCEPTION: main Process: com.evrencoskun.tableviewsample, PID: 25587 java.lang.NullPointerException: Attempt to invoke virtual method 'int androidx.recyclerview.widget.RecyclerView.getScrollState()' on a null object reference at com.evrencoskun.tableview.layoutmanager.CellLayoutManager.shouldFitColumns(CellLayoutManager.java:378) at com.evrencoskun.tableview.layoutmanager.ColumnLayoutManager.shouldFitColumns(ColumnLayoutManager.java:174) at com.evrencoskun.tableview.layoutmanager.ColumnLayoutManager.measureChild(ColumnLayoutManager.java:115) at com.evrencoskun.tableview.layoutmanager.ColumnLayoutManager.measureChildWithMargins(ColumnLayoutManager.java:85) at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1583) at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517) at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924) at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3336) at android.view.View.measure(View.java:21051) at androidx.recyclerview.widget.RecyclerView$LayoutManager.measureChildWithMargins(RecyclerView.java:9119) at com.evrencoskun.tableview.layoutmanager.CellLayoutManager.measureChildWithMargins(CellLayoutManager.java:398) at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1583) at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517) at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924) at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3336) at android.view.View.measure(View.java:21051) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at android.view.View.measure(View.java:21051) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) at android.view.View.measure(View.java:21051) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at android.view.View.measure(View.java:21051) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143) at android.view.View.measure(View.java:21051) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464) at android.widget.LinearLayout.measureVertical(LinearLayout.java:758) at android.widget.LinearLayout.onMeasure(LinearLayout.java:640) at android.view.View.measure(View.java:21051) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at android.view.View.measure(View.java:21051) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464) at android.widget.LinearLayout.measureVertical(LinearLayout.java:758) at android.widget.LinearLayout.onMeasure(LinearLayout.java:640) at android.view.View.measure(View.java:21051) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at com.android.internal.policy.DecorView.onMeasure(DecorView.java:850) at android.view.View.measure(View.java:21051) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2587) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1646) 2019-08-23 10:44:25.666 25587-25587/com.evrencoskun.tableviewsample E/AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1897) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1526) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7102) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927) at android.view.Choreographer.doCallbacks(Choreographer.java:702) at android.view.Choreographer.doFrame(Choreographer.java:638) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6682) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
同样遇到,请问是否解决?(Also encountered, is it solved?)
同遇到 求如何解决
I don't think this is fixed yet, but it should be once https://github.com/evrencoskun/TableView/pull/247 is merged and released.
Also, this is a duplicate of #245
自己trace一下,發現這個問題是在初始化不同步造成的。在第一次tableView的initialize()還沒執行完畢,就有class 立刻call Table view 中的getCellLayoutManager()。在這個時間點拿到的mCellLayoutManager是錯誤的object,因為裡面的mCellRecyclerView是null。
所以我加了一行程式碼去避開這個錯誤在Tableview。
public CellLayoutManager getCellLayoutManager() {
if (mCellLayoutManager == null) {
mCellLayoutManager = new CellLayoutManager(getContext(), this);
if (getCellRecyclerView() == null) mCellLayoutManager = null; //add this
}
return mCellLayoutManager;
}
不能跑。。
跑不起来,让我怎么玩
The fix has been merged to master. Can you close this issue if the sample app now works for you?
@704480904 did you have a chance to check if the crash is fixed for you in master?
Hi @704480904. Can you close this issue if it is fixed in v0.8.9?