Android ActionBarSherlock:膨胀类时出错<;未知>;
我正在开发一个使用ActionBarSherlock的应用程序。该应用程序在SDK v15(ICS)上运行时工作正常,但在SDK v8(Froyo)上崩溃 下面是我得到的错误:Android ActionBarSherlock:膨胀类时出错<;未知>;,android,xml,android-layout,actionbarsherlock,Android,Xml,Android Layout,Actionbarsherlock,我正在开发一个使用ActionBarSherlock的应用程序。该应用程序在SDK v15(ICS)上运行时工作正常,但在SDK v8(Froyo)上崩溃 下面是我得到的错误: E/AndroidRuntime( 489): FATAL EXCEPTION: main E/AndroidRuntime( 489): android.view.InflateException: Binary XML file line #10: Error inflating class <unknow
E/AndroidRuntime( 489): FATAL EXCEPTION: main
E/AndroidRuntime( 489): android.view.InflateException: Binary XML file line #10: Error inflating class <unknown>
E/AndroidRuntime( 489): at android.view.LayoutInflater.createView(LayoutInflater.java:513)
E/AndroidRuntime( 489): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
E/AndroidRuntime( 489): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
E/AndroidRuntime( 489): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
E/AndroidRuntime( 489): at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
E/AndroidRuntime( 489): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
E/AndroidRuntime( 489): at com.finerrecliner.HeadlineAdapter.getView(HeadlineAdapter.java:44)
E/AndroidRuntime( 489): at android.widget.AbsListView.obtainView(AbsListView.java:1315)
E/AndroidRuntime( 489): at android.widget.ListView.makeAndAddView(ListView.java:1727)
E/AndroidRuntime( 489): at android.widget.ListView.fillDown(ListView.java:652)
E/AndroidRuntime( 489): at android.widget.ListView.fillFromTop(ListView.java:709)
E/AndroidRuntime( 489): at android.widget.ListView.layoutChildren(ListView.java:1566)
E/AndroidRuntime( 489): at android.widget.AbsListView.onLayout(AbsListView.java:1147)
E/AndroidRuntime( 489): at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 489): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime( 489): at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 489): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime( 489): at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 489): at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1388)
E/AndroidRuntime( 489): at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 489): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime( 489): at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 489): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)
E/AndroidRuntime( 489): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125)
E/AndroidRuntime( 489): at android.widget.LinearLayout.onLayout(LinearLayout.java:1042)
E/AndroidRuntime( 489): at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 489): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime( 489): at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 489): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime( 489): at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 489): at android.view.ViewRoot.performTraversals(ViewRoot.java:1045)
E/AndroidRuntime( 489): at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
E/AndroidRuntime( 489): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 489): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 489): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime( 489): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 489): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 489): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime( 489): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime( 489): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 489): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime( 489): at android.widget.TextView.<init>(TextView.java:321)
E/AndroidRuntime( 489): at java.lang.reflect.Constructor.constructNative(Native Method)
E/AndroidRuntime( 489): at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
E/AndroidRuntime( 489): at android.view.LayoutInflater.createView(LayoutInflater.java:500)
E/AndroidRuntime( 489): ... 39 more
E/AndroidRuntime( 489): Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x2
E/AndroidRuntime( 489): at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463)
E/AndroidRuntime( 489): at android.view.View.<init>(View.java:1891)
E/AndroidRuntime( 489): at android.widget.TextView.<init>(TextView.java:327)
E/AndroidRuntime( 489): ... 43 more
E/AndroidRuntime(489):致命异常:main
E/AndroidRuntime(489):android.view.InflateException:二进制XML文件行#10:膨胀类时出错
E/AndroidRuntime(489):位于android.view.LayoutInflater.createView(LayoutInflater.java:513)
E/AndroidRuntime(489):位于com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
E/AndroidRuntime(489):位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
E/AndroidRuntime(489):位于android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
E/AndroidRuntime(489):在android.view.LayoutInflater.inflate(LayoutInflater.java:407)
E/AndroidRuntime(489):在android.view.LayoutInflater.充气(LayoutInflater.java:320)
E/AndroidRuntime(489):位于com.finerecliner.HeadlineAdapter.getView(HeadlineAdapter.java:44)
E/AndroidRuntime(489):位于android.widget.AbsListView.obtainView(AbsListView.java:1315)
E/AndroidRuntime(489):位于android.widget.ListView.makeAndAddView(ListView.java:1727)
E/AndroidRuntime(489):位于android.widget.ListView.fillDown(ListView.java:652)
E/AndroidRuntime(489):位于android.widget.ListView.fillFromTop(ListView.java:709)
E/AndroidRuntime(489):位于android.widget.ListView.layoutChildren(ListView.java:1566)
E/AndroidRuntime(489):位于android.widget.AbsListView.onLayout(AbsListView.java:1147)
E/AndroidRuntime(489):位于android.view.view.layout(view.java:7035)
E/AndroidRuntime(489):位于android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime(489):位于android.view.view.layout(view.java:7035)
E/AndroidRuntime(489):位于android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime(489):位于android.view.view.layout(view.java:7035)
E/AndroidRuntime(489):位于android.support.v4.view.ViewPager.onLayout(ViewPager.java:1388)
E/AndroidRuntime(489):位于android.view.view.layout(view.java:7035)
E/AndroidRuntime(489):位于android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime(489):位于android.view.view.layout(view.java:7035)
E/AndroidRuntime(489):位于android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)
E/AndroidRuntime(489):位于android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125)
E/AndroidRuntime(489):位于android.widget.LinearLayout.onLayout(LinearLayout.java:1042)
E/AndroidRuntime(489):位于android.view.view.layout(view.java:7035)
E/AndroidRuntime(489):位于android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime(489):位于android.view.view.layout(view.java:7035)
E/AndroidRuntime(489):位于android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime(489):位于android.view.view.layout(view.java:7035)
E/AndroidRuntime(489):位于android.view.ViewRoot.performTraversals(ViewRoot.java:1045)
E/AndroidRuntime(489):位于android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
E/AndroidRuntime(489):位于android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(489):位于android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(489):位于android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(489):位于java.lang.reflect.Method.Invokenactive(本机方法)
E/AndroidRuntime(489):位于java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(489):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(489):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(489):位于dalvik.system.NativeStart.main(本机方法)
E/AndroidRuntime(489):由以下原因引起:java.lang.reflect.InvocationTargetException
E/AndroidRuntime(489):位于android.widget.TextView。(TextView.java:321)
E/AndroidRuntime(489):位于java.lang.reflect.Constructor.constructNative(本机方法)
E/AndroidRuntime(489):位于java.lang.reflect.Constructor.newInstance(Constructor.java:446)
E/AndroidRuntime(489):位于android.view.LayoutInflater.createView(LayoutInflater.java:500)
E/AndroidRuntime(489):。。。39多
E/AndroidRuntime(489):由以下原因引起:java.lang.UnsupportedOperationException:无法转换为维度:type=0x2
E/AndroidRuntime(489):位于android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463)
E/AndroidRuntime(489):在android.view.view.(view.java:1891)
E/AndroidRuntime(489):位于android.widget.TextView。(TextView.java:327)
E/AndroidRuntime(489):。。。43多
下面是相关的XML(第10行是声明第一个TextView时):
下面是相关的my HeadlineAdapter.java代码(第44行带有注释):
class HeadlineAdapter扩展了ArrayAdapter{
私有int mLayoutResourceID;
私有上下文;
私人类头条{
文本视图标题;
TextView来源日期;
}
公共HeadlineAdapter(上下文上下文、int-textViewResourceId、ArrayList列表){
super(上下文、textViewResourceId、列表);
this.mContext=上下文;
this.mLayoutResourceID=textViewResourceId;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图行=转换视图;
头条线支架=空;
if(行==null){
LayoutInflater infl=(LayoutInflater)((SherlockFragmentActivity)mContext.getLayoutInflater();
行=输入充气(mLayoutResourceID,父项,false);//第44行
支架=新的车顶内衬支架();
holder.title=(TextView)row.findViewById(R.id.title);
holder.source\u date=(TextView)row.findViewById(R.id.source\u date);
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp">
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16dp"
android:textColor="#000000"
android:gravity="center_vertical"
android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
android:paddingRight="?android:attr/listPreferredItemPaddingRight"
/>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/source_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="10dp"
android:textColor="#666666"
android:gravity="center_vertical"
android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
android:paddingRight="?android:attr/listPreferredItemPaddingRight"
/>
</LinearLayout>
class HeadlineAdapter extends ArrayAdapter<SyndEntryEnhanced> {
private int mLayoutResourceID;
private Context mContext;
private class HeadlineHolder {
TextView title;
TextView source_date;
}
public HeadlineAdapter(Context context, int textViewResourceId, ArrayList<SyndEntryEnhanced> list) {
super(context, textViewResourceId, list);
this.mContext = context;
this.mLayoutResourceID = textViewResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
HeadlineHolder holder = null;
if (row == null) {
LayoutInflater infl = (LayoutInflater)((SherlockFragmentActivity)mContext).getLayoutInflater();
row = infl.inflate(mLayoutResourceID, parent, false); // LINE 44
holder = new HeadlineHolder();
holder.title = (TextView)row.findViewById(R.id.title);
holder.source_date = (TextView)row.findViewById(R.id.source_date);
row.setTag(holder);
} else {
holder = (HeadlineHolder)row.getTag();
}
SyndEntry entry = super.getItem(position).getEntry();
String title = super.getItem(position).getFeedTitle().trim();
Date date = entry.getPublishedDate();
SimpleDateFormat formatter = new SimpleDateFormat("MMM d", Locale.US);
holder.title.setText(StringEscapeUtils.unescapeHtml(entry.getTitle()));
if (date == null) {
holder.source_date.setText(title);
} else {
holder.source_date.setText(title + " - " + formatter.format(date));
}
return row;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp">
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16dp"
android:textColor="#000000"
android:gravity="center_vertical"
android:paddingLeft="?listPreferredItemPaddingLeft"
android:paddingRight="?listPreferredItemPaddingRight" />
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/source_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="10dp"
android:textColor="#666666"
android:gravity="center_vertical"
android:paddingLeft="?listPreferredItemPaddingLeft"
android:paddingRight="?listPreferredItemPaddingRight" />
</LinearLayout>