我有带ActionBarScherlock的应用程序,并且使用ACRA。我收到一些用户的崩溃报告,出现以下错误:

"java.lang.RuntimeException: Binary XML file line #20: You must supply a layout_height attribute.
    at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:491)
    at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:3602)
    at android.view.ViewGroup$LayoutParams.<init>(ViewGroup.java:3554)
    at android.widget.AbsListView$LayoutParams.<init>(AbsListView.java:4322)
    at android.widget.AbsListView.generateLayoutParams(AbsListView.java:4116)
    at android.widget.AbsListView.generateLayoutParams(AbsListView.java:74)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
    at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:332)
    at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
    at android.webkit.WebTextView$AutoCompleteAdapter.getView(WebTextView.java:650)
    at android.widget.AbsListView.obtainView(AbsListView.java:1430)
    at android.widget.AutoCompleteTextView$DropDownListView.obtainView(AutoCompleteTextView.java:1548)
    at android.widget.ListView.measureHeightOfChildren(ListView.java:1216)
    at android.widget.AutoCompleteTextView.buildDropDown(AutoCompleteTextView.java:1376)
    at android.widget.AutoCompleteTextView.showDropDown(AutoCompleteTextView.java:1140)
    at android.widget.AutoCompleteTextView.updateDropDownForFilter(AutoCompleteTextView.java:1022)
    at android.widget.AutoCompleteTextView.onFilterComplete(AutoCompleteTextView.java:1005)
    at android.widget.Filter$ResultsHandler.handleMessage(Filter.java:285)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3717)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
    at dalvik.system.NativeStart.main(Native Method)"

当然,我尝试过搜索它,发现它很可能是由ActionBarScherlock引起的(我注意到遇到此错误的每个用户都使用android 2.3。*),但没有找到解决方案。
有点令人不安的是,我无法在自己的2.3。*设备上重现此错误...

那么,什么原因导致此错误?

最佳答案

我们排名第一的崩溃之一是由该问题引起的,尤其是在中兴设备上。尽管操作栏可以在大多数屏幕上使用,但是当用户与Webview Edittext/InputBox进行交互时,我们却遇到了崩溃。崩溃是由于Webview上的自动完成功能导致的。禁用自动完成功能似乎可以消除崩溃。为什么自动完成功能与操作栏有任何关系仍然是一个谜。

在这里,我们仅针对中兴设备禁用自动完成功能。如果我们在其他设备上遇到问题,可以稍后再扩展列表。

    public static boolean disableWebViewAutoCompleteForDevicesThatCrash(WebView webView)
{
    // We may add some other bizarre devices to this list if the ZTE fix works well.
    if ("ZTE".equals(Build.MANUFACTURER))
    {
        webView.getSettings().setSaveFormData(false);
        webView.clearFormData();
        return true;
    }
    else
    {
        return false;
    }
}

关于android - 是什么原因造成 "RuntimeException: Binary XML file line #20: You must supply a layout_height attribute."(怀疑是ActionBarScherlock)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14529590/

10-11 15:05