PeterStaev / NativeScript-Drop-Down

A NativeScript DropDown widget.
Apache License 2.0
105 stars 65 forks source link

Drop-Down not working at all on Android #136

Closed adolfos94 closed 6 years ago

adolfos94 commented 6 years ago

Hello,

I implemented the DropDown on my hybrid app. On iOS it works perfectly, but on Android it crashes.

System.err: com.tns.NativeScriptException: System.err: Calling js method getView failed System.err: System.err: Error: java.lang.NullPointerException System.err: android.widget.TextView.setTextColor(TextView.java:3265) System.err: com.tns.Runtime.callJSMethodNative(Native Method) System.err: com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1084) System.err: com.tns.Runtime.callJSMethodImpl(Runtime.java:966) System.err: com.tns.Runtime.callJSMethod(Runtime.java:953) System.err: com.tns.Runtime.callJSMethod(Runtime.java:937) System.err: com.tns.Runtime.callJSMethod(Runtime.java:929) System.err: com.tns.gen.android.widget.BaseAdapter_frnal_ts_helpers_l58_c38__DropDownAdapter.getView(BaseAdapter_frnal_ts_helpers_l58_c38__DropDownAdapter.java:42) System.err: android.widget.AbsSpinner.onMeasure(AbsSpinner.java:194) System.err: android.widget.Spinner.onMeasure(Spinner.java:592) System.err: android.view.View.measure(View.java:19857) System.err: org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262) System.err: org.nativescript.widgets.StackLayout.onMeasure(StackLayout.java:92) System.err: android.view.View.measure(View.java:19857) System.err: org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262) System.err: org.nativescript.widgets.StackLayout.onMeasure(StackLayout.java:83) System.err: android.view.View.measure(View.java:19857) System.err: android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083) System.err: android.widget.FrameLayout.onMeasure(FrameLayout.java:185) System.err: android.view.View.measure(View.java:19857) System.err: android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083) System.err: android.widget.FrameLayout.onMeasure(FrameLayout.java:185) System.err: android.view.View.measure(View.java:19857) System.err: android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1629) System.err: android.view.View.measure(View.java:19857) System.err: org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262) System.err: org.nativescript.widgets.MeasureHelper.measureChildFixedColumnsAndRows(GridLayout.java:1055) System.err: org.nativescript.widgets.MeasureHelper.measure(GridLayout.java:865) System.err: org.nativescript.widgets.GridLayout.onMeasure(GridLayout.java:279) System.err: android.view.View.measure(View.java:19857) System.err: org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262) System.err: org.nativescript.widgets.MeasureHelper.measureChildFixedColumnsAndRows(GridLayout.java:1055) System.err: org.nativescript.widgets.MeasureHelper.measure(GridLayout.java:865) System.err: org.nativescript.widgets.GridLayout.onMeasure(GridLayout.java:279) System.err: android.view.View.measure(View.java:19857) System.err: org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262) System.err: org.nativescript.widgets.ContentLayout.onMeasure(ContentLayout.java:32) System.err: android.view.View.measure(View.java:19857) System.err: android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083) System.err: android.widget.FrameLayout.onMeasure(FrameLayout.java:185) System.err: android.view.View.measure(View.java:19857) System.err: android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083) System.err: android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464) System.err: android.widget.LinearLayout.measureVertical(LinearLayout.java:758) System.err: android.widget.LinearLayout.onMeasure(LinearLayout.java:640) System.err: android.view.View.measure(View.java:19857) System.err: android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083) System.err: android.widget.FrameLayout.onMeasure(FrameLayout.java:185) System.err: com.android.internal.policy.DecorView.onMeasure(DecorView.java:689) System.err: android.view.View.measure(View.java:19857) System.err: android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2275) System.err: android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1366) System.err: android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1619) System.err: android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254) System.err: android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6337) System.err: android.view.Choreographer$CallbackRecord.run(Choreographer.java:874) System.err: android.view.Choreographer.doCallbacks(Choreographer.java:686) System.err: android.view.Choreographer.doFrame(Choreographer.java:621) System.err: android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860) System.err: android.os.Handler.handleCallback(Handler.java:751) System.err: android.os.Handler.dispatchMessage(Handler.java:95) System.err: android.os.Looper.loop(Looper.java:154) System.err: android.app.ActivityThread.main(ActivityThread.java:6119) System.err: java.lang.reflect.Method.invoke(Native Method) System.err: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) System.err: com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) System.err: File: "file:///data/data/com.mustgo.hybridapp/files/app/tns_modules/tns-core-modules/ui/text-base/text-base.js, line: 159, column: 41 System.err: System.err: StackTrace: System.err: Frame: function:'TextBase.(anonymous function)', file:'file:///data/data/com.mustgo.hybridapp/files/app/tns_modules/tns-core-modules/ui/text-base/text-base.js', line: 159, column: 42 System.err: Frame: function:'', file:'file:///data/data/com.mustgo.hybridapp/files/app/tns_modules/tns-core-modules/ui/core/properties/properties.js', line: 773, column: 46 System.err: Frame: function:'DropDownAdapter._generateView', file:'file:///data/data/com.mustgo.hybridapp/files/app/tns_modules/nativescript-drop-down/drop-down.js', line: 251, column: 31 System.err: Frame: function:'DropDownAdapter.getView', file:'file:///data/data/com.mustgo.hybridapp/files/app/tns_modules/nativescript-drop-down/drop-down.js', line: 233, column: 21 System.err: System.err: at com.tns.Runtime.callJSMethodNative(Native Method) System.err: at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1084) System.err: at com.tns.Runtime.callJSMethodImpl(Runtime.java:966) System.err: at com.tns.Runtime.callJSMethod(Runtime.java:953) System.err: at com.tns.Runtime.callJSMethod(Runtime.java:937) System.err: at com.tns.Runtime.callJSMethod(Runtime.java:929) System.err: at com.tns.gen.android.widget.BaseAdapter_frnal_ts_helpers_l58_c38__DropDownAdapter.getView(BaseAdapter_frnal_ts_helpers_l58_c38__DropDownAdapter.java:42) System.err: at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:194) System.err: at android.widget.Spinner.onMeasure(Spinner.java:592) System.err: at android.view.View.measure(View.java:19857) System.err: at org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262) System.err: at org.nativescript.widgets.StackLayout.onMeasure(StackLayout.java:92) System.err: at android.view.View.measure(View.java:19857) System.err: at org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262) System.err: at org.nativescript.widgets.StackLayout.onMeasure(StackLayout.java:83) System.err: at android.view.View.measure(View.java:19857) System.err: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083) System.err: at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) System.err: at android.view.View.measure(View.java:19857) System.err: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083) System.err: at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) System.err: at android.view.View.measure(View.java:19857) System.err: at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1629) System.err: at android.view.View.measure(View.java:19857) System.err: at org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262) System.err: at org.nativescript.widgets.MeasureHelper.measureChildFixedColumnsAndRows(GridLayout.java:1055) System.err: at org.nativescript.widgets.MeasureHelper.measure(GridLayout.java:865) System.err: at org.nativescript.widgets.GridLayout.onMeasure(GridLayout.java:279) System.err: at android.view.View.measure(View.java:19857) System.err: at org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262) System.err: at org.nativescript.widgets.MeasureHelper.measureChildFixedColumnsAndRows(GridLayout.java:1055) System.err: at org.nativescript.widgets.MeasureHelper.measure(GridLayout.java:865) System.err: at org.nativescript.widgets.GridLayout.onMeasure(GridLayout.java:279) System.err: at android.view.View.measure(View.java:19857) System.err: at org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262) System.err: at org.nativescript.widgets.ContentLayout.onMeasure(ContentLayout.java:32) System.err: at android.view.View.measure(View.java:19857) System.err: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083) System.err: at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) System.err: at android.view.View.measure(View.java:19857) System.err: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083) System.err: at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464) System.err: at android.widget.LinearLayout.measureVertical(LinearLayout.java:758) System.err: at android.widget.LinearLayout.onMeasure(LinearLayout.java:640) System.err: at android.view.View.measure(View.java:19857) System.err: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083) System.err: at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) System.err: at com.android.internal.policy.DecorView.onMeasure(DecorView.java:689) System.err: at android.view.View.measure(View.java:19857) System.err: at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2275) System.err: at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1366) System.err: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1619) System.err: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254) System.err: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6337) System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874) System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:686) System.err: at android.view.Choreographer.doFrame(Choreographer.java:621) System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860) System.err: at android.os.Handler.handleCallback(Handler.java:751) System.err: at android.os.Handler.dispatchMessage(Handler.java:95) System.err: at android.os.Looper.loop(Looper.java:154) System.err: at android.app.ActivityThread.main(ActivityThread.java:6119) System.err: at java.lang.reflect.Method.invoke(Native Method) System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) System.err: Caused by: java.lang.NullPointerException System.err: at android.widget.TextView.setTextColor(TextView.java:3265) System.err: ... 65 more ActivityManager: Process com.mustgo.hybridapp (pid 6440) has died ActivityManager: cleanUpApplicationRecord -- 6440

adolfos94 commented 6 years ago

My XML.

<dd:DropDown hint="{{ hint }}" items="{{ items }}" selectedIndex="{{ selectedIndex }}" selectedIndexChanged="dropDownSelectedIndexChanged" />

       nativescript     │ 3.2.1           │ 3.2.1          

│ tns-core-modules │ 3.2.0 │ 3.2.0
│ tns-android │ 3.2.0 │ 3.2.0
│ tns-ios │ 3.2.0 │ 3.2.0

Plugin "nativescript-drop-down": "^3.1.3"

PeterStaev commented 6 years ago

@adolfos94 , can you provide a reproducable demo or reproduce it with the demos in this repo?

adolfos94 commented 6 years ago

Ok, I found that If I don't use the property color in the dropdown it crashes. Should be a default value. Regards.

jafsparrow commented 6 years ago

I also have the same issue with dropdown on android. I used the same code that is available in the nativescript marketplace page.

Here is a link for the stackoverflow question https://stackoverflow.com/questions/46541759/nativescript-dropdown-plugin-angular-error-on-opening-the-item?noredirect=1#comment80047944_46541759

simonettoa commented 6 years ago

Adding black color works, I've tried grey or blue and it crashes! weird!