Android - View-Tag ist in der Ansicht nicht korrekt: null (CursorAdapter und DataBinding)

So habe ich gestern endlich Zeit gefunden, eine neue DataBinding-Bibliothek auszuprobieren. Ich habe versucht, es mit CursorAdapter zu verwenden, aber ohne Erfolg.

Als Androidguys geschrieben auf ihrer Seite:

Wenn Sie Datenbindungselemente in einem ListView- oder RecyclerView-Adapter verwenden, bevorzugen Sie möglicherweise:

ListItemBinding binding = ListItemBinding.inflate(layoutInflater, viewGroup, false);
//or
ListItemBinding binding = DataBindingUtil.inflate(layoutInflater, R.layout.list_item, viewGroup, false);

Aber in CursorAdapter muss ich Inflating und Binding in 2 Methoden trennen. Also, wie richtig implementieren? Meistens habe ich eine Ausnahme: view-Tag ist in view nicht korrekt: 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));
    }
}

Wie wird die Bindung mit CursorAdapter korrekt implementiert?

10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: FATAL EXCEPTION: main 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: Process: kandrac .xyz.library, PID: 6231 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: java.lang.RuntimeException: Ansichtstag ist bei Ansicht nicht korrekt: null 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at kandrac.xyz.library.databinding.BookListItemBinding.bind (BookListItemBinding.java:135) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz .library E / AndroidRuntime: at kandrac.xyz.library.MainActivity $ BookCursorAdapter.bindView (MainActivity.java:95) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at 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.makeAnd AddView (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: bei android.widget.AbsListView.onTouchMove (AbsListView.java:3801) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: bei android.widget. AbsListView.onTouchEvent (AbsListView.java:3632) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRunti me: 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: bei android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2405) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: bei 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: unter android.view.ViewGroup.dispatchTransfor medTouchEvent (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: bei android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2405) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: bei android.view. ViewGroup.dispatchTouchEvent (ViewGroup.java:2106) 1 0-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: um android.app.Activity.dispatchTouchEvent (Activity.java:2742) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: um android.support.v7. internal.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:60) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow $ DecorView. dispatchTouchEvent (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: at android.view.ViewRootImpl $ ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:4123) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.ViewRootImpl $ ViewPostImeInputStage.RootImpl. 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: 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 $ AsyncInputStage.apply (ViewRootImpl.java:3737) 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. Bibliothek E / AndroidRuntime: unter android.view.ViewRootImpl $ InputStage.apply (ViewRootImpl.java:3571) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.bibliothek E / AndroidRuntime: unter 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.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: at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:5752) 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: bei android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:185) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: bei android.view. InputEventReceiver.nativeConsumeBatchedInputEvents (native Methode) 10-14 06: 25: 43.847 6231-6231 / kandrac.xyz.library E / AndroidRuntime: at android.view.InputEven

Antworten auf die Frage(2)

Ihre Antwort auf die Frage