java – android. view. Inflateexception: binary XML file line #9: error class expansion
•
Java
I've been studying this problem for hours and similar errors, and the solution doesn't do that
I reuse this XML file in different activities for multiple listviews (I assume it is related to it), but I don't understand why it breaks The XML file represents each item in the listview
This is XML:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="5dp" >
<LinearLayout
android:id="@+id/post"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?attr/postBackground"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/postTop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="8dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >
<!-- Title -->
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-light"
android:textColor="?attr/postTitle"
android:textSize="16sp"
android:textStyle="bold" />
<!-- subreddit + domain -->
<TextView
android:id="@+id/subredditDomainVotes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:gravity="left"
android:textColor="#828282"
android:textSize="13sp" />
<TextView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:gravity="left"
android:textColor="#828282"
android:textSize="13sp" />
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/imagePreview"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:adjustViewBounds="false"
android:background="?attr/postPreviewBground"
android:contentDescription="@string/empty"
android:scaleType="centerCrop" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?attr/postBottom"
android:padding="8dp" >
<!-- Author -->
<TextView
android:id="@+id/author"
style="?attr/postButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:textSize="12sp" />
<!-- Comments -->
<TextView
android:id="@+id/comments"
style="?attr/postButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textSize="12sp" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</FrameLayout>
This is Java (in convertview = (FrameLayout) FrameLayout An error occurred on inflate (mcontext, r.layout.column_post, null);):
@Override
public View getView(int position,View convertView,ViewGroup parent) {
JSONObject thePost = null;
String kind = null;
try {
thePost = mPosts.getJSONObject(position);
kind = thePost.getString("kind");
} catch (Exception e) {
System.out.println("errreoroer");
}
if (null == convertView) {
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = new FrameLayout(mContext);
if (Switches.getInMailView()) {
convertView = (RelativeLayout) inflater.inflate(
R.layout.mail_post,parent,false);
mailHolder = new MailHolder();
mailHolder.authorView = (TextView) convertView
.findViewById(R.id.author);
mailHolder.dateView = (TextView) convertView
.findViewById(R.id.date);
mailHolder.subjectView = (TextView) convertView
.findViewById(R.id.subject);
} else {
if (kind.equals("t3")) {
//ERROR HAPPENS RIGHT HERE
convertView = (FrameLayout) FrameLayout.inflate(mContext,null);
holder = new PostHolder();
// grab the post view objects
holder.postTitleView = (TextView) convertView
.findViewById(R.id.title);
holder.dateView = (TextView) convertView
.findViewById(R.id.date);
holder.authorView = (TextView) convertView
.findViewById(R.id.author);
holder.commentsView = (TextView) convertView
.findViewById(R.id.comments);
holder.subredditDomainVotesView = (TextView) convertView
.findViewById(R.id.subredditDomainVotes);
holder.imagePreviewView = (ImageView) convertView
.findViewById(R.id.imagePreview);
holder.postTopView = (LinearLayout) convertView
.findViewById(R.id.postTop);
convertView.setTag(holder);
}
}
} else {
if (Switches.getInMailView())
mailHolder = (MailHolder) convertView.getTag();
else {
if (kind.equals("t3"))
holder = (PostHolder) convertView.getTag();
}
}
try {
if (Switches.getInMailView())
return buildMailPostItem((RelativeLayout) convertView,thePost.getJSONObject("data"),kind);
else {
if (kind.equals("t3"))
return buildGenericPostItem((FrameLayout) convertView,kind,position);
}
} catch (JSONException e) {
return null;
}
return convertView;
}
stack trace
11-26 18:23:09.492: E/AndroidRuntime(4616): FATAL EXCEPTION: main 11-26 18:23:09.492: E/AndroidRuntime(4616): Process: com.reditr.app,PID: 4616 11-26 18:23:09.492: E/AndroidRuntime(4616): android.view.InflateException: Binary XML file line #9: Error inflating class <unkNown> 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.LayoutInflater.createView(LayoutInflater.java:620) 11-26 18:23:09.492: E/AndroidRuntime(4616): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 11-26 18:23:09.492: E/AndroidRuntime(4616): at com.reditr.adapters.PostAdapter.getView(PostAdapter.java:145) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.HeaderViewlistadapter.getView(HeaderViewlistadapter.java:220) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.AbsListView.obtainView(AbsListView.java:2263) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.ListView.makeAndAddView(ListView.java:1790) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.ListView.fillDown(ListView.java:691) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.ListView.fillFromTop(ListView.java:752) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.ListView.layoutChildren(ListView.java:1630) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.AbsListView.onLayout(AbsListView.java:2091) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.View.layout(View.java:14785) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewGroup.layout(ViewGroup.java:4631) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.FrameLayout.onLayout(FrameLayout.java:388) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.View.layout(View.java:14785) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewGroup.layout(ViewGroup.java:4631) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.LinearLayout.onLayout(LinearLayout.java:1434) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.View.layout(View.java:14785) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewGroup.layout(ViewGroup.java:4631) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.LinearLayout.onLayout(LinearLayout.java:1434) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.View.layout(View.java:14785) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewGroup.layout(ViewGroup.java:4631) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1585) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.View.layout(View.java:14785) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewGroup.layout(ViewGroup.java:4631) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1660) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.LinearLayout.onLayout(LinearLayout.java:1436) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.View.layout(View.java:14785) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewGroup.layout(ViewGroup.java:4631) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.FrameLayout.onLayout(FrameLayout.java:388) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.View.layout(View.java:14785) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewGroup.layout(ViewGroup.java:4631) 11-26 18:23:09.492: E/AndroidRuntime(4616): at com.android.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:374) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.View.layout(View.java:14785) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewGroup.layout(ViewGroup.java:4631) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.widget.FrameLayout.onLayout(FrameLayout.java:388) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.View.layout(View.java:14785) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewGroup.layout(ViewGroup.java:4631) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1985) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1742) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5582) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.Choreographer.doCallbacks(Choreographer.java:562) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.Choreographer.doFrame(Choreographer.java:532) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.os.Handler.handleCallback(Handler.java:733) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.os.Handler.dispatchMessage(Handler.java:95) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.os.Looper.loop(Looper.java:137) 11-26 18:23:09.492: E/AndroidRuntime(4616): at android.app.ActivityThread.main(ActivityThread.java:4998) 11-26 18:23:09.492: E/AndroidRuntime(4616): at java.lang.refl
Thank you in advance
Solution
Thanks @kiruwka, the problem has been solved!
The problem is that I need to make sure I use the same theme in various activities
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
