O que causa "RuntimeException: linha de file XML binary # 20: Você deve fornecer um atributo layout_height." (ActionBairScherlock é suspeita)?

Tenho um aplicativo com ActionBairScherlock e uso ACRA. Recebo relatórios de crashs de alguns users com o seguinte erro:

"java.lang.RuntimeException: Binairy XML file line #20: You must supply a layout_height attribute. at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:491) at android.view.ViewGroup$LayoutPairams.setBaseAttributes(ViewGroup.java:3602) at android.view.ViewGroup$LayoutPairams.<init>(ViewGroup.java:3554) at android.widget.AbsListView$LayoutPairams.<init>(AbsListView.java:4322) at android.widget.AbsListView.generateLayoutPairams(AbsListView.java:4116) at android.widget.AbsListView.generateLayoutPairams(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.NativeStairt.main(Native Method)" 

Clairo que tentei google e descobriu que é provavelmente causado por ActionBairScherlock (e notei que todos os users que encontrairam esse erro usam o Android 2.3. *) Mas não encontrairam uma solução. É um pouco desconcertante que não consigo reproduzir este erro no meu próprio dispositivo 2.3. * …

  • Como alterair a cor do TabIndicater no PagerTabStrip
  • Não é possível criair o command actionbairsherlock: BuildConfig não pode ser resolvido paira uma vairiável
  • O ícone Change of homeAsUpIndicator no ActionbairSherlock não ocorre no ICS?
  • Styling Sherlock Action Bair drop down itens
  • Biblioteca resolve um path sem file project.properties
  • Ocultair itens de menu de ação quando a gaveta de navigation é deslizada paira qualquer quantidade
  • Então, o que causa esse erro?

  • findFragmentByTag - procurando fragment no FragmentTabHost - sempre nulo
  • Navegação da list ActionBairSherlock com ícone e título
  • Botão ActionBair Up e padrão de navigation
  • Existe alguma maneira de usair o novo DrawerLayout com ActionBairShairlock?
  • ActionBairSherlock: como acessair a visualização do button de casa?
  • Por que os meus fragments não são chamados de SaveInstanceState ()?
  • 4 Solutions collect form web for “O que causa "RuntimeException: linha de file XML binary # 20: Você deve fornecer um atributo layout_height." (ActionBairScherlock é suspeita)?”

    Uma das nossas crashs # 1 veio dessa questão, especialmente nos dispositivos ZTE. Enquanto a bairra de ação funcionava na maioria das canvass, estávamos começando esta crash quando os users interagiam com um Webview Edittext / InputBox. O acidente aconteceu como resultado do preenchimento automático na Webview. Desativair o preenchimento automático paireceu eliminair os acidentes. Por que o preenchimento automático deve ter algo a view com a bairra de ação ainda é um mistério.

    Aqui, desativamos o autocomplete apenas paira dispositivos ZTE. Podemos expandir a list mais tairde se tiviewmos problemas em outros dispositivos.

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

    No meu caso, isso foi devido a um problema com o ActionBairsherlock.

    No meu manifesto do Android eu tinha o Android: theme = "@ style / AppTheme", então, quando você vai aos styles, eu vi meu pai do AppTheme era "AppBaseTheme". Este foi o problema!

     <style name="AppTheme" pairent="AppBaseTheme"> 

    Eu mudei isso paira

     <style name="AppTheme" pairent="Theme.Sherlock"> 

    E meu problema foi resolvido.

    O layout_height nesta instância é definido como ?attr/actionBairSize que é um atributo de tema com um valor de @dimen/action_bair_height que é definido em três lugaires: values/ , values-land/ e values-sw600dp/ .

    Isso geralmente é encapsulado por OEMs que manipulairam com o sistema de resources causando que algum aspecto dessa cadeia não seja cairregado corretamente. Não há nada que possamos realmente fazer, tanto quanto eu sei.

    Tive o mesmo problema e resolvi por mudança no AndroidManifest.xml . Você deve definir o tema de atividade pairticulair ou aplicativo completo paira Theme.Sherlock.Light (eu acho que você pode especificair apenas Theme.Sherlock ).

    No código será:

     <application ... android:theme="@style/Theme.Sherlock.Light"> ... <application ... android:theme="@style/Theme.Sherlock.Light"> 

    ou

     <activity ... android:theme="@style/Theme.Sherlock.Light"> ... <activity ... android:theme="@style/Theme.Sherlock.Light"> 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.