No Android, obtive o seguinte erro no emulador e em alguns dispositivos móveis, mas não no Tablet :
Não consigo entender qual é o erro, na verdade?
Pesquisei muitos tutoriais, mas não consigo encontrar nenhuma solução.
Por favor me ajude a resolver isso.
Nota: Neste aplicativo, eu usei ActionbarSherlock e tema, posso obter por causa dessa biblioteca ou qualquer outro problema?
Meu log de erros é:
09-11 17:52:57.342: E/AndroidRuntime(9935): FATAL EXCEPTION: main
09-11 17:52:57.342: E/AndroidRuntime(9935): android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.createView(LayoutInflater.java:613)
09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:371)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:193)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.Spinner.onMeasure(Spinner.java:439)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:681)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1217)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.ScrollView.onMeasure(ScrollView.java:321)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2176)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1874)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1089)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1265)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.Choreographer.doCallbacks(Choreographer.java:562)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.Choreographer.doFrame(Choreographer.java:532)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.os.Handler.handleCallback(Handler.java:725)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.os.Handler.dispatchMessage(Handler.java:92)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.os.Looper.loop(Looper.java:137)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.app.ActivityThread.main(ActivityThread.java:5041)
09-11 17:52:57.342: E/AndroidRuntime(9935): at java.lang.reflect.Method.invokeNative(Native Method)
09-11 17:52:57.342: E/AndroidRuntime(9935): at java.lang.reflect.Method.invoke(Method.java:511)
09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-11 17:52:57.342: E/AndroidRuntime(9935): at dalvik.system.NativeStart.main(Native Method)
09-11 17:52:57.342: E/AndroidRuntime(9935): Caused by: java.lang.reflect.InvocationTargetException
09-11 17:52:57.342: E/AndroidRuntime(9935): at java.lang.reflect.Constructor.constructNative(Native Method)
09-11 17:52:57.342: E/AndroidRuntime(9935): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.createView(LayoutInflater.java:587)
09-11 17:52:57.342: E/AndroidRuntime(9935): ... 45 more
09-11 17:52:57.342: E/AndroidRuntime(9935): Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.TextView.<init>(TextView.java:916)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.TextView.<init>(TextView.java:578)
09-11 17:52:57.342: E/AndroidRuntime(9935): ... 48 more
Meu arquivo de layout XML é:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:panel="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginLeft="@dimen/other_activity_horizontal_margin"
android:layout_marginRight="@dimen/other_activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:orientation="vertical" >
<EditText
android:id="@+id/custDetailsNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:hint="@string/name_cust_all_add"
android:inputType="textPersonName"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsEmailEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsNameEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/email_cust_all_add"
android:inputType="textEmailAddress"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Spinner
android:id="@+id/custDetailsDistributorSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsEmailEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:entries="@array/slide_menu_items"
android:prompt="@string/select_distributor_prompt_add"
android:spinnerMode="dialog" >
</Spinner>
<EditText
android:id="@+id/custDetailsAddress1TitleEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsDistributorSpinner"
android:layout_marginTop="15dp"
android:hint="@string/address_1_cust_all_add"
android:inputType="textPostalAddress"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsAddress2TitleEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsAddress1TitleEditText"
android:layout_marginTop="15dp"
android:hint="@string/address_2_cust_all_add"
android:inputType="textPostalAddress"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsAddress3TitleEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsAddress2TitleEditText"
android:layout_marginTop="15dp"
android:hint="@string/address_3_cust_all_add"
android:inputType="textPostalAddress"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Spinner
android:id="@+id/custDetailsCompanyAreaSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsAddress3TitleEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:entries="@array/slide_menu_items"
android:prompt="@string/select_company_area_prompt_add"
android:spinnerMode="dialog"
android:fastScrollEnabled="true"
>
</Spinner>
<EditText
android:id="@+id/custDetailsPincodeEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsCompanyAreaSpinner"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/pincode_cust_all_add"
android:inputType="number"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsPhone1EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsPincodeEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/phone_1_cust_all_add"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsPhone2EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsPhone1EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/phone_2_cust_all_add"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsMobileNo1EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsPhone2EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/mobile_no_1_cust_all_add"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsMobileNo2EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsMobileNo1EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/mobile_no_2_cust_all_add"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsContactPerson1EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsMobileNo2EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/contact_person_1_cust_all_add"
android:inputType="text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsContactPerson2EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsContactPerson1EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/contact_person_2_cust_all_add"
android:inputType="text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsTinNoEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsContactPerson2EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/tin_no_cust_all_add"
android:inputType="text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsCstNoEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsTinNoEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/cst_no_cust_all_add"
android:inputType="text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<RadioGroup
android:id="@+id/custDetailsVTVRRadioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsCstNoEditText"
android:layout_marginTop="15dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/custDetailsVTVRLableTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/vt_vr_cust_all_add"
android:textAppearance="?android:attr/textAppearanceMedium" />
<RadioButton
android:id="@+id/custDetailsVTRadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/vt_cust_all_add" />
<RadioButton
android:id="@+id/custDetailsVRRadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/vr_cust_all_add" />
</RadioGroup>
<RadioGroup
android:id="@+id/custDetailsCFormRadioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsVTVRRadioGroup"
android:layout_marginTop="15dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/custDetailsCFormLableTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/c_form_cust_add_all"
android:textAppearance="?android:attr/textAppearanceMedium" />
<RadioButton
android:id="@+id/custDetailsCFormYesRadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/yes_cust_add_all" />
<RadioButton
android:id="@+id/custDetailsCFormNoRadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_cust_add_all" />
</RadioGroup>
</RelativeLayout>
</ScrollView>
styles.xml
na values
pasta:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<style name="SlideBarTheme" parent="@style/Theme.Sherlock.NoActionBar">
<item name="android:background">@drawable/slide_bg</item>
<item name="android:cacheColorHint">@android:color/transparent</item>
<item name="android:choiceMode">singleChoice</item>
</style>
<style name="ActivityTheme" parent="@style/Theme.Sherlock.Light">
<item name="android:textColor">@color/activity_text</item>
<item name="android:background">@color/activity_background</item>
</style>
<!-- For Widget -->
<style name="MyAndroidTheme" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="android:editTextStyle">@style/EditTextAppTheme</item>
<item name="android:autoCompleteTextViewStyle">@style/AutoCompleteTextViewAppTheme</item>
<item name="android:checkboxStyle">@style/CheckBoxAppTheme</item>
<item name="android:spinnerStyle">@style/SpinnerAppTheme</item>
<item name="android:dropDownSpinnerStyle">@style/SpinnerAppTheme.DropDown</item>
<item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItemAppTheme</item>
<item name="android:listViewStyle">@style/ListViewAppTheme</item>
<item name="android:listViewWhiteStyle">@style/ListViewAppTheme.White</item>
<item name="android:spinnerItemStyle">@style/SpinnerItemAppTheme</item>
</style>
</resources>
styles.xml
na values-11
pasta:
<resources>
<!--
Base application theme for API 11+. This theme completely replaces
AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<!-- API 11 theme customizations can go here. -->
<style name="MyAndroidTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:editTextBackground">@drawable/edit_text_holo_light</item>
<item name="android:autoCompleteTextViewStyle">@style/AutoCompleteTextViewAppTheme</item>
<item name="android:listChoiceIndicatorMultiple">@drawable/btn_check_holo_light</item>
<item name="android:dropDownSpinnerStyle">@style/SpinnerAppTheme</item>
<item name="android:listChoiceBackgroundIndicator">@drawable/list_selector_holo_light</item>
<item name="android:activatedBackgroundIndicator">@drawable/activated_background_holo_light</item>
</style>
</resources>
styles.xml
na values-14
pasta:
<resources>
<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
</style>
</resources>
E também tenho um arquivo de tema personalizado:
Na values
pasta chamada styles_apptheme.xml
e styles_myactionbar.xml
, Na values-v11
pasta chamada styles_apptheme.xml
, Na values-v14
pasta chamadastyles_myactionbar.xml
O que devo mudar?
android
android-layout
android-emulator
actionbarsherlock
android-theme
Pratik Butani
fonte
fonte
Respostas:
Após 2 dias encontrei a solução; do layout, conforme definido em minha pergunta, tenho um
Spinner
que está vinculado a um personalizadoTextView
:Aqui, eu tenho um recurso dimensão extraído:
@dimen/spinner_list_item_text_size
.Isso foi definido nos
dimens.xml
seguintes diretórios:values-sw600dp
values-sw720dp-land
mas, crucialmente , esqueci de defini-lo em
values
Depois de definir o recurso (
@dimen/spinner_list_item_text_size
) emvalues/dimens.xml
, ele funciona com sucesso.fonte
values
pasta para o seu recurso.No meu caso o problema era
ao invés de:
fonte
Você encontra em seu logcat antes da exceção uma linha como esta:
Pesquise este número (aqui 0x7f0a005f) no Resource.class R.java gerado. O nome da variável é o recurso dimen ausente.
fonte
Para outros que chegaram aqui a partir de uma pesquisa do Google, certifique-se de atribuir uma dimensão em vez de outra. O logcat indicará a visualização do problema.
ou seja, de alguma forma, um dos meus layouts tinha alguns TextViews com
android:textSize="?android:attr/textAppearanceSmall"
Renomeou-os para
android:textAppearance="?android:attr/textAppearanceSmall"
e tudo está bem novamente.fonte
Resolvido: tive o mesmo erro, mas acontece que esqueci de definir um valor em,
dimens.xml
mas o havia definido emdimens.xml(w820dp)
. Certifique-se de que todos os valores estejam definidos. Funcionou para mimfonte
Você pode dar uma olhada neste tópico, o problema parece ser exatamente o que você está tendo:
https://github.com/JakeWharton/ActionBarSherlock/issues/446
Parece que o truque é fazer o seguinte:
Boa sorte!
fonte
styles_myactionbar.xml
comtheme.xml
novalue-v14
.Anything in the theme related to the action bar and any action bar or action mode style should be in values-v14/ with the android prefix. Everything non-Android prefixed should be in values/ (along with the regular old theme stuff).
Para mim, o problema era o valor da dimensão.
<dimen name="general_container_width">@dimen/match_parent</dimen>
O android não conseguiu resolver o problema de
@dimen/match_parent
quando eu estava tentando obter o valor na minha visualização personalizada.fonte
basta adicionar ferramentas de raiz: ignore = "ContentDescription"
fonte
E para mim era um styles.xml ruim que definia um textSize incorretamente: -
A dica veio do rastreamento de pilha a seguir e da percepção de que o acima foi uma das alterações relacionadas ao tamanho que fiz desde a última execução bem-sucedida.
fonte
No meu caso, usando o Android Studio 3.5.3 , tentei criar um novo recurso dimen.xml a partir da ferramenta de criação de IU do Android conforme abaixo:
Ele criou um recurso sem adicionar "dp" ao valor que forneci. Cuide disso para resolver o problema.
fonte
Teve exatamente o mesmo problema.
Analisei de todas as perspectivas: qualificadores, dimensões não disponíveis em todos os qualificadores, alterações de estrutura customizada que provavelmente foram feitas em OEMs. Também tentei entender se esse recurso de alguma forma não está incluído no aplicativo final criado a partir de nosso aplicativo de pacote. Pacote local criado e aplicativo criado para meu dispositivo a partir das instruções em Gerar um conjunto de APKs específico do dispositivo, mas não foi possível reproduzir. Nada suspeito quando olhei para resource.asrc com analisador apk no estúdio.
Sem mais pistas, finalmente, pensamos se essas dimensões são realmente necessárias. Não, pois não afetará a experiência do usuário.
Então, a solução foi remover essa dimensão de TextView. :)
fonte