Open shivamahi opened 6 years ago
Hi @shivamahi,
Please, check #26 issue
Thank you for using TableView.
Thank you for quick reply
We started hiding table if we have no data. We will switch to text view with msg "no data".
I know It is an ugly solution. If I have a time at the weekend, I'll implement the requirement that is loading table with empty data.
See you.
Great That would help many people thank you.
Hi @sivayapps,
Actually, you don't need to wait for any implementation to fix this issue. I have just tested the case using empty data, It just looks.
like below.
You just need to create empty data sets like below
/**
* This is a dummy empty model list for a test case.
*/
private List<List<Cell>> getEmptyCellList() {
List<List<Cell>> list = new ArrayList<>();
for (int i = 0; i < ROW_SIZE; i++) {
List<Cell> cellList = new ArrayList<>();
list.add(cellList);
for (int j = 0; j < COLUMN_SIZE; j++) {
// Create dummy id.
String id = j + "-" + i;
Cell cell = new Cell(id, "");
cellList.add(cell);
}
}
return list;
}
/**
* This is a dummy empty model list for a test case.
*/
private List<RowHeader> getEmptyRowHeaderList() {
List<RowHeader> list = new ArrayList<>();
for (int i = 0; i < ROW_SIZE; i++) {
RowHeader header = new RowHeader(String.valueOf(i), "");
list.add(header);
}
return list;
}
and set these list to the adapter.
mTableViewAdapter.setAllItems(getColumnHeaderList(), getEmptyRowHeaderList(), getEmptyCellList());
@evrencoskun Thanks for update We will try it.
We are developing new app(not released yet) While searching found TableView and it is very interesting and matching our usecase.
While testing with TableView We are getting NPE when we try to tap on empty table for second time.
E/RecyclerView: No adapter attached; skipping layout I/View: Key up dispatch to android.support.v7.widget.AppCompatEditText{8e559f9 VFED..CL. .F...... 0,0-166,140 #7f0900f4 app:id/registered_farmer_id}, event = KeyEvent { action=ACTION_UP, keyCode=KEYCODE_BACK, scanCode=0, metaState=0, flags=0x68, repeatCount=0, eventTime=475379957, downTime=475379866, deviceId=-1, source=0x101 } E/CellRecyclerView: mIsVerticalScrollListenerRemoved has been tried to remove itself before add new one E/CellRecyclerView: mIsVerticalScrollListenerRemoved has been tried to remove itself before add new one E/InputEventReceiver: Exception dispatching input event. E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback E/MessageQueue-JNI: java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v7.widget.RecyclerView$ViewHolder com.evrencoskun.tableview.adapter.recyclerview.CellRecyclerView.findViewHolderForAdapterPosition(int)' on a null object reference at com.evrencoskun.tableview.layoutmanager.CellLayoutManager.getVisibleCellViewsByColumnPosition(CellLayoutManager.java:432) at com.evrencoskun.tableview.handler.SelectionHandler.changeVisibleCellViewsBackgroundForColumn(SelectionHandler.java:320) at com.evrencoskun.tableview.handler.SelectionHandler.selectedColumnHeader(SelectionHandler.java:221) at com.evrencoskun.tableview.handler.SelectionHandler.setSelectedColumnPosition(SelectionHandler.java:75) at com.evrencoskun.tableview.listener.itemclick.ColumnHeaderRecyclerViewItemClickListener.clickAction(ColumnHeaderRecyclerViewItemClickListener.java:54) at com.evrencoskun.tableview.listener.itemclick.AbstractItemClickListener.onInterceptTouchEvent(AbstractItemClickListener.java:76) at android.support.v7.widget.RecyclerView.dispatchOnItemTouch(RecyclerView.java:2771) at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2899) at android.view.View.dispatchTouchEvent(View.java:9483) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2665) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2309) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2323) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2323) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2323) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2323) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2323) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2323) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2323) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2671) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2323) at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2476) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1777) at android.app.Activity.dispatchTouchEvent(Activity.java:2818) at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68) at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2437) at android.view.View.dispatchPointerEvent(View.java:9714) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4861) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4703) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4208) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4261) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4227) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4373) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4235) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4430) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4208) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4261) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4227) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4235) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4208) at android.view.Vie