0

Ich habe Recycler Ansicht innerhalb von Fragment und Daten in ArrayList Aber wenn ich meine Anwendung ausführen einige, wie es eine Ausnahme wie InflateException auslöst. Ich habe viel versucht, aber keine Lösung gefunden.Fehler beim Aufblasen der Klasse TextView in RecyclerView

Es wäre toll, wenn jemand lösen kann und ich werde sehr dankbar sein.

Hier ist logcat.

com.example.ankitsodha.aroundme E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: com.example.ankitsodha.aroundme, PID: 9678 
    android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class TextView 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
    at com.example.ankitsodha.aroundme.MyRecyclerAdapter.onCreateViewHolder(MyRecyclerAdapter.java:29) 
    at com.example.ankitsodha.aroundme.MyRecyclerAdapter.onCreateViewHolder(MyRecyclerAdapter.java:15) 
    at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5228) 
    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4453) 
    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363) 
    at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961) 
    at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370) 
    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333) 
    at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562) 
    at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900) 
    at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071) 
    at android.view.View.layout(View.java:16646) 
    at android.view.ViewGroup.layout(ViewGroup.java:5440) 
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) 
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) 
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) 
    at android.view.View.layout(View.java:16646) 
    at android.view.ViewGroup.layout(ViewGroup.java:5440) 
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
    at android.view.View.layout(View.java:16646) 
    at android.view.ViewGroup.layout(ViewGroup.java:5440) 
    at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1037) 
    at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:747) 
    at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42) 
    at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1156) 
    at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:760) 
    at android.view.View.layout(View.java:16646) 
    at android.view.ViewGroup.layout(ViewGroup.java:5440) 
    at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1043) 
    at android.view.View.layout(View.java:16646) 
    at android.view.ViewGroup.layout(ViewGroup.java:5440) 
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
    at android.view.View.layout(View.java:16646) 
    at android.view.ViewGroup.layout(ViewGroup.java:5440) 
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) 
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) 
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) 
    at android.view.View.layout(View.java:16646) 
    at android.view.ViewGroup.layout(ViewGroup.java:5440) 
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
    at android.view.View.layout(View.java:16646) 
    at android.view.ViewGroup.layout(ViewGroup.java:5440) 
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) 
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) 
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) 
    at android.view.View.layout(View.java:16646) 
    at android.view.ViewGroup.layout(ViewGroup.java:5440) 
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
    at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2678) 
    at android.view.View.layout(View.java:166 

MyRecyclerAdapter.java

public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.ViewHolder> { 

    Context context; 
    ArrayList<PlaceModalClass> placeData; 

    public MyRecyclerAdapter(Context context, ArrayList<PlaceModalClass> placeData) 
    { 
     this.context=context; 
     this.placeData=placeData; 
    } 

    @Override 
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 

     View view=LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_row_item,parent,false); 

     ViewHolder viewHolder= new ViewHolder(view); 

     return viewHolder; 
    } 

    @Override 
    public void onBindViewHolder(ViewHolder holder, int position) { 
      holder.tvName.setText(placeData.get(position).getName()); 
    } 

    @Override 
    public int getItemCount() { 
     return placeData.size(); 
    } 

    static class ViewHolder extends RecyclerView.ViewHolder 
    { 

     TextView tvName; 

     public ViewHolder(View itemView) { 
      super(itemView); 
      tvName=(TextView)itemView.findViewById(R.id.tvName); 
     } 
    } 
} 

recycler_row_item.xml

<?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="match_parent"> 
    <TextView 
     android:id="@+id/tvName" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Test" 
     android:textSize="?android:attr/textAppearanceLarge"/>   
</LinearLayout> 

MyFragment.java Datei

recyclerview=(RecyclerView)view.findViewById(R.id.recyclerview); 
recyclerview.setLayoutManager(new LinearLayoutManager(getActivity())); 
MyRecyclerAdapter adapter=new MyRecyclerAdapter(getActivity(),placeData); 
recyclerview.setAdapter(adapter); 
+0

Ist das die volle Stack-Trace? – Naveed

+0

ja dies, wenn volle Stack-Trace – sodhankit

+0

Können Sie Ihre Aktivität/Fragment-Code buchen. Die Probe, die du gepostet hast, scheint in Ordnung zu sein. – Naveed

Antwort

0

In Ihrem recycler_row_item.xml die unten stehende Zeile löschen.

android: textsize = "android: attr/textAppearanceLarge"

oder durch diese ersetzt werden:

android:textAppearance="?android:attr/textAppearanceLarge"

+0

Ja ich weiß über Layout Manager und ich habe bereits Linear Layout Manager immer noch zeigt es den gleichen Fehler – sodhankit

+0

können Sie Ihre Xml-Code von recycler_row_item, oder überprüfen Sie die Zeile Nr. 8 dieser Datei – HAXM

+0

Ich habe bereits Recycler_row_item XML-Datei geschrieben Überprüfen Sie oben. Es gibt eine Textansicht innerhalb des linearen Layouts. – sodhankit

Verwandte Themen