2017-09-13 49 views
13

我有一個混合科爾多瓦安卓應用程序,並且當用戶點擊在我的WebView在Android操作系統8上運行的下拉框時,應用程序崩潰。我用<select>標籤創建了一個簡單的頁面,問題是可重複的。我有一個解決方法是做我自己的彈出式警報選擇,但只是想知道這是否發生在其他人身上,以及這是否是OS8 WebView錯誤。爲什麼Android操作系統8 WebVew與HTML選擇標記崩潰的應用程序

下面是<select>標籤一個簡單的頁面

https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select

下面是我的崩潰日誌

11:04:58.643 3208-3208/com.****.****E/AndroidRuntime: FATAL EXCEPTION: main 
Process: com.****.****, PID: 3208 android.content.res.Resources$NotFoundException: Resource ID #0x0 
    at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:195) 
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:2133) 
    at android.content.res.Resources.getLayout(Resources.java:1142) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:421) 
    at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:416) 
    at android.widget.ArrayAdapter.getView(ArrayAdapter.java:407) 
    at org.chromium.content.browser.input.SelectPopupAdapter.getView(SelectPopupAdapter.java:53) 
    at android.widget.AbsListView.obtainView(AbsListView.java:2372) 
    at android.widget.ListView.measureHeightOfChildren(ListView.java:1408) 
    at android.widget.ListView.onMeasure(ListView.java:1315) 
    at android.view.View.measure(View.java:21998) 
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) 
    at android.view.View.measure(View.java:21998) 
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) 
    at android.view.View.measure(View.java:21998) 
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514) 
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:806) 
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:685) 
    at android.view.View.measure(View.java:21998) 
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) 
    at android.view.View.measure(View.java:21998) 
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) 
    at android.view.View.measure(View.java:21998) 
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) 
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) 
    at com.android.internal.policy.DecorView.onMeasure(DecorView.java:721) 
    at android.view.View.measure(View.java:21998) 
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2410) 
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1471) 
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1751) 
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1386) 
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6733) 
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911) 
    at android.view.Choreographer.doCallbacks(Choreographer.java:723) 
    at android.view.Choreographer.doFrame(Choreographer.java:658) 
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897) 
    at android.os.Handler.handleCallback(Handler.java:789) 
    at android.os.Handler.dispatchMessage(Handler.java:98) 
    at android.os.Looper.loop(Looper.java:164) 
    at android.app.ActivityThread.main(ActivityThread.java:6541) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

我的問題是不一樣的,因爲這

Trying to open SELECT tag in Android WebView crashes the application

更新9月1日2018年: 我還沒有解決方案,我的臨時解決方法是刪除標籤,只使用輸入。當用戶選擇這個元素時,我們將該事件傳遞給本地代碼以彈出用於選擇的對話框並在用戶做出選擇時更新輸入。

+0

我無法在運行Android 8.0.0的Google Pixel上重現此操作。點擊下拉框會按預期彈出對話框。我的'WebView'配置是最小的,只是'setJavaScriptEnabled(true)'。 FWIW,這個問題[今年早些時候似乎已經在Android 7.0上報告過了](https://issuetracker.google.com/issues/37137929),但沒有人提供可複製的測試用例,所以這個問題沒有發生。 – CommonsWare

+0

這方面的消息? –

+2

我可以知道你是如何解決這個問題的?我在Google Pixel的應用中也遇到同樣的問題。但它在像素瀏覽器以及我創建的另一個虛擬應用程序中工作正常。 – Nivedh

回答

0

我在Android 8.0上遇到同樣的問題。 終於我解決了。 嘗試更新您的compileSdkVersion到26, 並更新您的com.android.support:appcompat-v7爲26.

+3

請勿在此處添加註釋。 – Billa

+0

不解決問題。 – Raanan

-1

它看起來像你正在設置整數值的Textview。嘗試使用String.valueOf(value)在Textview中設置值。

+0

問題是關於WebView中的Select元素。 – Raanan

0

我挖進了崩潰日誌。雖然這個答案不會解決你的問題,你可能會得到一些有益的啓示

我不知道爲什麼它發生在Android 8.0上,我無法在Android 8.0仿真器上重現此操作,雖然

相關問題