Android - тег представления не корректен при просмотре: null (CursorAdapter и DataBinding)
Итак, вчера я наконец нашел время попробовать новую библиотеку DataBinding. Я пытался использовать его с CursorAdapter, но безуспешно.
Как Androidguys написали на своей странице:
Если вы используете элементы привязки данных внутри адаптера ListView или RecyclerView, вы можете использовать:
ListItemBinding binding = ListItemBinding.inflate(layoutInflater, viewGroup, false);
//or
ListItemBinding binding = DataBindingUtil.inflate(layoutInflater, R.layout.list_item, viewGroup, false);
Но в CursorAdapter я должен разделить Inflating и Binding на 2 метода. Так как правильно это реализовать? В основном я получил исключение: тег представления не корректен при просмотре: null
private class BookCursorAdapter extends CursorAdapter {
public BookCursorAdapter(Context context) {
super(context, null, 0);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
BookListItemBinding binding = DataBindingUtil.inflate(getLayoutInflater(), R.layout.book_list_item, parent, false);
return binding.getRoot();
// or just
// return getLayoutInflater().inflate(R.layout.book_list_item, parent, false);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
// here it fails (and i cannot see source code of bind method)
BookListItemBinding.bind(view).setBook(new Book(cursor));
}
}
Как правильно реализовать связывание с CursorAdapter?
10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: Процесс: kandrac. xyz.library, PID: 6231 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: java.lang.RuntimeException: тег представления не корректен при просмотре: пусто 10-14 06:25 : 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at kandrac.xyz.library.databinding.ookListItemBinding.bind (BookListItemBinding.java:135) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz. библиотека E / AndroidRuntime: на kandrac.xyz.library.MainActivity $ BookCursorAdapter.bindView (MainActivity.java:95) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: на android.widget. CursorAdapter.getView (CursorAdapter.java:254) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.widget.AbsListView.obtainView (AbsListView.java:2347) 10-14 06 : 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.widget.ListView.makeAndA ddView (ListView.java:1864) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.widget.ListView.fillDown (ListView.java:698) 10-14 06:25 : 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.widget.ListView.correctTooLow (ListView.java:1474) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime : at android.widget.ListView.fillGap (ListView.java:672) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.widget.AbsListView.trackMotionScroll (AbsListView.java: 4991) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.widget.AbsListView.scrollIfNeeded (AbsListView.java:3418) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.widget.AbsListView.onTouchMove (AbsListView.java:3801) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.widget. AbsListView.onTouchEvent (AbsListView.java:3632) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntim e: at android.view.View.dispatchTouchEvent (View.java:8471) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java : 2399) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2092) 10-14 06: 25: 43.847 6231-6231 /kandrac.xyz.library E / AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2405) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view .ViewGroup.dispatchTouchEvent (ViewGroup.java:2106) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2405) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2106) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: на android.view.ViewGroup.dispatchTransform edTouchEvent (ViewGroup.java:2405) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: atroid.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2106) 10-14 06:25 : 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2405) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime : at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2106) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java: 2405) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2106) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2405) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view. ViewGroup.dispatchTouchEvent (ViewGroup.java:2106) 10 -14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow $ DecorView.superDispatchTouchEvent (PhoneWindow.java:2369) 10-14 06:25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1719) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz .library E / AndroidRuntime: at android.app.Activity.dispatchTouchEvent (Activity.java:2742) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.support.v7.internal .view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:60) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: в com.android.internal.policy.impl.PhoneWindow $ DecorView.dispatchTouch (PhoneWindow.java:2330) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.View.dispatchPointerEvent (View.java:8666) 10-14 06:25: 43,847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: в ndroid.view.ViewRootImpl $ ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:4123) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: в среде просмотра android.view.ViewRootImpl Java: 3989) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl $ InputStage.deliver (ViewRootImpl.java:3544) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl $ InputStage.onDeliverToNext (ViewRootImpl.java:3597) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime : at android.view.ViewRootImpl $ InputStage.forward (ViewRootImpl.java:3563) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl $ AsyncInputStage.forward ( ViewRootImpl.java:3680) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: atroid.view.ViewRootImpl $ InputStage.apply (ViewRootImpl.java:3571) 10-14 06:25 : 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl $ AsyncInputStage.apply (ViewRootImpl.java:3737) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl $ InputStage.deverver (ViewRootImpl.java:3544) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: atroid.view.ViewRootImpl $ InputStage.onDeliverToNext (ViewRootImpl.java:3597) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl $ InputStage.forward (ViewRootImpl.java:3563) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl $ InputStage.apply (ViewRootImpl.java:3571) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl $ InputStage .deliver (ViewRootImpl.java:3544) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: atroid.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:5807) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:5781) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: в android.view.ViewRootImpl.enqueueInputEvent (ViewRootava.5:5) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl $ WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:5897) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:185) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view. InputEventReceiver.nativeConsumeBatchedInputEvents (собственный метод) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.InputEven