2015-02-09 12 views
5

Używam Android Studio, gdy używam TextView w mojej aplikacji jest układ zamykający pokazując błąd:binarny plik XML linia nr 26: Błąd klasa pompowania android.widget.TextView

android.view.InflateException: Binary XML file line #26: Error inflating class android.widget.TextView 
      at android.view.LayoutInflater.createView(LayoutInflater.java:633) 
      at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) 
      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741) 
      at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
      at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
      at com.SubFragment.onCreateView(SubFragment.java:20) 
      at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786) 
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947) 
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126) 
      at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739) 
      at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489) 
      at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486) 
      at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 
      at android.support.v4.view.ViewPager.populate(ViewPager.java:1073) 
      at android.support.v4.view.ViewPager.populate(ViewPager.java:919) 
      at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441) 
      at android.view.View.measure(View.java:17430) 
      at android.widget.LinearLayout.measureVertical(LinearLayout.java:875) 
      at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) 
      at android.view.View.measure(View.java:17430) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) 
      at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) 
      at android.view.View.measure(View.java:17430) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) 
      at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) 
      at android.view.View.measure(View.java:17430) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) 
      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) 
      at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) 
      at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) 
      at android.view.View.measure(View.java:17430) 
      at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:851) 
      at android.view.View.measure(View.java:17430) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) 
      at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) 
      at android.view.View.measure(View.java:17430) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) 
      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) 
      at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) 
      at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) 
      at android.view.View.measure(View.java:17430) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) 
      at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) 
      at android.view.View.measure(View.java:17430) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) 
      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) 
      at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) 
      at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) 
      at android.view.View.measure(View.java:17430) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) 
      at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) 
      at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560) 
      at android.view.View.measure(View.java:17430) 

a tu w mojej klasie Fragment

public class SubFragment extends Fragment{ 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_homescreen, container, false);// getting error here 


     return rootView; 
    } 


} 

kod XML:

<LinearLayout 
     android:layout_margin="10dp" 
     android:layout_width="match_parent" 
     android:orientation="vertical" 
     android:gravity="center_vertical|center_horizontal" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:background="@drawable/offers"> 


     <ImageView 
      android:id="@+id/imageButtonOffers" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_centerVertical="true" 
      android:src="@drawable/offers_icon" /> 

     <TextView 
      android:id="@+id/textViewOffers" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/imageButtonOffers" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="5dp" 
      android:gravity="center_horizontal" 
      android:text="Offer" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="@color/white" 
      android:textSize="15sp" /> 


    </LinearLayout> 

ten kod działa poprawnie z zaćmienia. Jedyny problem, gdy próbuję pracować w Studio

+0

może u Ciebie post xml i wszystko? – user1140237

+0

dwukrotnie sprawdź plik xml, gdzie deklarujesz swój tekst, oznacza to, że gdzieś popełniłeś błąd w pisowni. Prawdopodobnie zapomniałem o postaci lub czymś. – YourDevMinion

+0

@ user1140237 dodano xml – Nama

Odpowiedz

10
android:background="@drawable/offers" 

mam nadzieję, że ofert jest obraz i jego większy niż ekran więc zastąpić przez jakiś kod koloru n spróbować

Podoba Ci się to

android:background="#ff0000" 

go nadzieję działa ..

sprawdzić to zbyt

android.view.InflateException: Binary XML file line #12: Error inflating class <unknown>

edit:

usunąć tę linię

android:textAppearance="?android:attr/textAppearanceMedium" 
+0

wypróbowany ..ale bezużyteczności .. – Nama

+0

Czysty projekt n n prób ... –

+1

zrobił tak wiele razy .. – Nama

1

ja oczyścić swój xml i dodaje nazw:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_margin="10dp" 
    android:layout_weight="1" 
    android:background="@drawable/offers" 
    android:gravity="center_vertical|center_horizontal" 
    android:orientation="vertical" > 

<ImageView 
    android:id="@+id/imageButtonOffers" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/offers_icon" /> 

<TextView 
    android:id="@+id/textViewOffers" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:gravity="center_horizontal" 
    android:text="Offer" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@color/white" 
    android:textSize="15sp" /> 

</LinearLayout> 

Jak jesteś przy użyciu LinearLayout, parametry takie jak „android : layout_below "lub" android: layout_centerHorizontal "nie są nieprawidłowe.

+0

Najpierw próbowałem z układem względnym, więc użyłem paramrów layout_below .. i to jest dziecko mojego głównego xml, więc o ile mi wiadomo, nie ma potrzeby ponownego dodawania przestrzeni nazw dla dziecka – Nama

+0

Powinieneś wkleić swój cały układ xml. W przeciwnym razie jest mylące. –

0

Również napotkałem ten błąd.

Rozwiązałem go po prostu odtwarzając nowy plik .xml zawierający TextView. W moim przypadku błąd był w wersji xml (v21 \ abc.xml). kod działa również w wersji Android 6 (marshmallow), a nie rzuca błąd podczas uruchamiania w wersji Android 4.4 (kitkat).

0

Miałem do czynienia z tym samym problemem. Upewnij się, że nie masz tools:targetApi="lollipop" w żadnym ze swoich układów.Instaluj, dwa układy jeden pod layout dodaj drugi pod katalogiem layout-v21.

+0

Kiedy miałem ten problem, wszystko, co zrobiłem, aby go naprawić, to usunąć instrukcję android: drawableLeft. Okazuje się, że przypisanie obrazu do AutoCompleteTextView na urządzeniach pre-Lollipop powoduje problem. Na moim telefonie Lollipop działa dobrze. – FractalBob