Closed vacant697 closed 3 years ago
本来就是各平台原生控件的调用
在开发picker的时候,我们就有很多的讨论(甚至是争论),是做是三端UI完全一致还是体现各自的特色,最后我们决定采用现在的方式,也就是平台原生的方式,原因有以下几点:
picker.pick 里面嵌套picker.pick,被嵌套的picker再ios端不能弹出。@alext1981
pick在iOS上正常,在安卓上崩溃,请问是什么原因啊?
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.taobao.weex.bridge.NativeInvokeHelper$1.run(NativeInvokeHelper.java:236)
at com.taobao.weex.common.WXThread$SafeRunnable.run(WXThread.java:235)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:171)
at android.app.ActivityThread.main(ActivityThread.java:5620)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.taobao.weex.bridge.MethodInvoker.invoke(MethodInvoker.java:232)
at com.taobao.weex.bridge.NativeInvokeHelper$1.run(NativeInvokeHelper.java:234)
at com.taobao.weex.common.WXThread$SafeRunnable.run(WXThread.java:235)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:171)
at android.app.ActivityThread.main(ActivityThread.java:5620)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.Resources.getValue(Resources.java:1373)
at android.content.res.NubiaResources.getValue(NubiaResources.java:189)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2895)
at android.content.res.Resources.getLayout(Resources.java:1187)
at android.view.LayoutInflater.inflate(LayoutInflater.java:421)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at android.support.v7.app.AlertController$AlertParams.createListView(AlertController.java:966)
at android.support.v7.app.AlertController$AlertParams.apply(AlertController.java:942)
at android.support.v7.app.AlertDialog$Builder.create(AlertDialog.java:930)
at android.support.v7.app.AlertDialog$Builder.show(AlertDialog.java:954)
at com.taobao.weex.appfram.pickers.WXPickersModule.performSinglePick(WXPickersModule.java:364)
at com.taobao.weex.appfram.pickers.WXPickersModule.pick(WXPickersModule.java:247)
at java.lang.reflect.Method.invoke(Native Method)
at com.taobao.weex.bridge.MethodInvoker.invoke(MethodInvoker.java:232)
at com.taobao.weex.bridge.NativeInvokeHelper$1.run(NativeInvokeHelper.java:234)
at com.taobao.weex.common.WXThread$SafeRunnable.run(WXThread.java:235)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:171)
at android.app.ActivityThread.main(ActivityThread.java:5620)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
我找了两天,才发现问题,给其他遇到这个问题的人提醒一下,weex使用的是v7的appcompat那一套,直接使用默认的activity是不行的,会崩溃。哎
这个问题无语了,官方就没遇到的么
07-05 16:32:45.814 18406-18459/com.zljy.patient D/weex: callJS >>>> instanceId:1function:callJS tasks:[{"data":"1","type":2},{"data":"[{\"args\":[\"98\",\"click\",{\"position\":{\"height\":96.875,\"width\":280.20834,\"x\":234.375,\"y\":666.6667}},null],\"method\":\"fireEvent\"}]","type":3}]
07-05 16:32:45.824 18406-18459/com.zljy.patient D/weex: [WXBridgeManager] callNativeModule >>>> instanceId:1, module:picker, method:pick, arguments:[{"index":0,"items":["Saab","Volvo","BMW"]},"41"]
07-05 16:32:45.834 18406-18406/com.zljy.patient W/ResourceType: No package identifier when getting value for resource number 0x00000000
07-05 16:32:45.834 18406-18406/com.zljy.patient W/System.err: android.content.res.Resources$NotFoundException: Resource ID #0x0
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.content.res.Resources.getValue(Resources.java:1147)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.content.res.Resources.loadXmlResourceParser(Resources.java:2350)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.content.res.Resources.getLayout(Resources.java:963)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.view.LayoutInflater.inflate(LayoutInflater.java:395)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.support.v7.app.AlertController$AlertParams.createListView(AlertController.java:877)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.support.v7.app.AlertController$AlertParams.apply(AlertController.java:854)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.support.v7.app.AlertDialog$Builder.create(AlertDialog.java:883)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at com.taobao.weex.appfram.pickers.WXPickersModule.performSinglePick(WXPickersModule.java:229)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at com.taobao.weex.appfram.pickers.WXPickersModule.pick(WXPickersModule.java:85)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at java.lang.reflect.Method.invoke(Method.java:525)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at com.taobao.weex.bridge.MethodInvoker.invoke(MethodInvoker.java:46)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at com.taobao.weex.bridge.NativeInvokeHelper$1.run(NativeInvokeHelper.java:48)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at com.taobao.weex.common.WXThread$SafeRunnable.run(WXThread.java:49)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.os.Handler.handleCallback(Handler.java:730)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.os.Handler.dispatchMessage(Handler.java:92)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.os.Looper.loop(Looper.java:137)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5473)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at java.lang.reflect.Method.invoke(Method.java:525)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:875)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)
07-05 16:32:45.844 18406-18406/com.zljy.patient W/System.err: at dalvik.system.NativeStart.main(Native Method)
picker底层使用了support v7里的AlertDialog来构建,其中包含一些系统内置资源的调用,请检查一下是否正确引入了support和appcompat库,以及activity是否使用了正确的theme
@ArvinQi 哈哈,那个回答是我写的。。。
请问如何解决Android上的全屏日历过长,而导致得划一段距离才能滚动到对应年份?
This PR/issue doesn't receive response since Weex migrated to Apache two years ago and this repository is no longer active yet.
Feel free to ask question in new repository and thanks for your contribution.
This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.
看到更新中说支持picker了很开心。。可开心不到两秒,发现安卓和ios的ui表现差别巨大。。。怎么用!!