Skip to content

ListView causing app to crash  #1145

@ludcila

Description

@ludcila

Please, provide the details below:

Did you verify this is a real problem by searching the NativeScript Forum and the other open issues in this repo?

Yes

Found some similar issues:

Tell us about the problem

The app crashes when:

  1. Using a ListView with multiple templates
  2. There is a model update that causes an item to switch from one template to another
  3. The app is put into background and/or navigation occurs (using slide transition)

Please provide the following version numbers that your issue occurs with:

  • CLI: 4.1.2
  • Cross-platform modules: 4.1.1
  • Runtime(s): 4.1.3

This seems to happen only on Android 8.0.

Did the error happen while the app was being constructed? (buildtime error)

No

Did the error happen while the app was executing? (runtime error)

Yes

An uncaught Exception occurred on "main" thread.
com.tns.NativeScriptException: 
Calling js method getView failed

Error: There is no entry with key 'org.nativescript.widgets.StackLayout{4b534d0 V.E...... ........ 0,-133-1080,28}' in the realized views cache for template with key'visited'.
File: "file:///data/data/org.nativescript.nsissue741/files/app/tns_modules/tns-core-modules/ui/list-view/list-view.js, line: 241, column: 20

StackTrace: 
	Frame: function:'ZoneAwareError', file:'file:///data/data/org.nativescript.nsissue741/files/app/tns_modules/nativescript-angular/zone-js/dist/zone-nativescript.js', line: 1298, column: 33
	Frame: function:'ListViewAdapter.getView', file:'file:///data/data/org.nativescript.nsissue741/files/app/tns_modules/tns-core-modules/ui/list-view/list-view.js', line: 241, column: 27


	at com.tns.Runtime.callJSMethodNative(Native Method)
	at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101)
	at com.tns.Runtime.callJSMethodImpl(Runtime.java:983)
	at com.tns.Runtime.callJSMethod(Runtime.java:970)
	at com.tns.Runtime.callJSMethod(Runtime.java:954)
	at com.tns.Runtime.callJSMethod(Runtime.java:946)
	at com.tns.gen.android.widget.BaseAdapter_view_195_32_ListViewAdapter.getView(BaseAdapter_view_195_32_ListViewAdapter.java:52)
	at android.widget.AbsListView.obtainView(AbsListView.java:2428)
	at android.widget.ListView.makeAndAddView(ListView.java:2083)
	at android.widget.ListView.fillUp(ListView.java:829)
	at android.widget.ListView.fillGap(ListView.java:766)
	at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5520)
	at android.widget.ListView.trackMotionScroll(ListView.java:1991)
	at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3660)
	at android.widget.AbsListView.onTouchMove(AbsListView.java:4086)
	at android.widget.AbsListView.onTouchEvent(AbsListView.java:3904)
	at android.view.View.dispatchTouchEvent(View.java:11788)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2968)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2647)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:549)
	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1953)
	at android.app.Activity.dispatchTouchEvent(Activity.java:3548)
	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:502)
	at android.view.View.dispatchPointerEvent(View.java:12027)
	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5278)
	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5067)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4581)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4634)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4600)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4727)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4608)
	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4784)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4581)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4634)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4600)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4608)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4581)
	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7169)
	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7143)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7104)
	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7325)
	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:192)
	at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
	at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:181)
	at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7248)
	at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7353)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:981)
	at android.view.Choreographer.doCallbacks(Choreographer.java:790)
	at android.view.Choreographer.doFrame(Choreographer.java:715)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:967)
	at android.os.Handler.handleCallback(Handler.java:808)
	at android.os.Handler.dispatchMessage(Handler.java:101)
	at android.os.Looper.loop(Looper.java:166)
	at android.app.ActivityThread.main(ActivityThread.java:7425)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

Please tell us how to recreate the issue in as much detail as possible.

Sample project to reproduce the issue:
https://github.com/ludcila/ns-listview-issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions