Android出现二进制XML文件行#1的问题
我的应用程序在Android 4.0+上运行得很好,现在我想让它与旧版本兼容,我导入了完整的支持库,将活动扩展到Android出现二进制XML文件行#1的问题,android,android-fragments,navigation-drawer,android-support-library,Android,Android Fragments,Navigation Drawer,Android Support Library,我的应用程序在Android 4.0+上运行得很好,现在我想让它与旧版本兼容,我导入了完整的支持库,将活动扩展到ActionBarActivity,然后将所有内容更改为getSupportActionBar,并使用app.v4.Fragment。Eclipse没有在代码中显示任何错误,但当我启动应用程序时,它会显示SplashScreen,然后显示FC 03-31 13:47:25.104: E/AndroidRuntime(25142): FATAL EXCEPTION: main 03-31
ActionBarActivity
,然后将所有内容更改为getSupportActionBar
,并使用app.v4.Fragment
。Eclipse没有在代码中显示任何错误,但当我启动应用程序时,它会显示SplashScreen,然后显示FC
03-31 13:47:25.104: E/AndroidRuntime(25142): FATAL EXCEPTION: main
03-31 13:47:25.104: E/AndroidRuntime(25142): android.view.InflateException: Binary XML file line #1: Error inflating class <unknown>
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.LayoutInflater.createView(LayoutInflater.java:518)
03-31 13:47:25.104: E/AndroidRuntime(25142): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.LayoutInflater.inflate(LayoutInflater.java:386)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:332)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.AbsListView.obtainView(AbsListView.java:1456)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.ListView.makeAndAddView(ListView.java:1821)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.ListView.fillDown(ListView.java:686)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.ListView.fillFromTop(ListView.java:754)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.ListView.layoutChildren(ListView.java:1656)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.AbsListView.onLayout(AbsListView.java:1286)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.View.layout(View.java:7184)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:714)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.View.layout(View.java:7184)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.View.layout(View.java:7184)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.View.layout(View.java:7184)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.View.layout(View.java:7184)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.View.layout(View.java:7184)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.ViewRoot.performTraversals(ViewRoot.java:1143)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.ViewRoot.handleMessage(ViewRoot.java:1862)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.os.Handler.dispatchMessage(Handler.java:99)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.os.Looper.loop(Looper.java:130)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.app.ActivityThread.main(ActivityThread.java:3806)
03-31 13:47:25.104: E/AndroidRuntime(25142): at java.lang.reflect.Method.invokeNative(Native Method)
03-31 13:47:25.104: E/AndroidRuntime(25142): at java.lang.reflect.Method.invoke(Method.java:507)
03-31 13:47:25.104: E/AndroidRuntime(25142): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-31 13:47:25.104: E/AndroidRuntime(25142): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-31 13:47:25.104: E/AndroidRuntime(25142): at dalvik.system.NativeStart.main(Native Method)
03-31 13:47:25.104: E/AndroidRuntime(25142): Caused by: java.lang.reflect.InvocationTargetException
03-31 13:47:25.104: E/AndroidRuntime(25142): at java.lang.reflect.Constructor.constructNative(Native Method)
03-31 13:47:25.104: E/AndroidRuntime(25142): at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.LayoutInflater.createView(LayoutInflater.java:505)
03-31 13:47:25.104: E/AndroidRuntime(25142): ... 35 more
03-31 13:47:25.104: E/AndroidRuntime(25142): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x10102fd a=-1}
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.content.res.Resources.loadDrawable(Resources.java:1719)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.view.View.<init>(View.java:1951)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.TextView.<init>(TextView.java:453)
03-31 13:47:25.104: E/AndroidRuntime(25142): at android.widget.TextView.<init>(TextView.java:446)
03-31 13:47:25.104: E/AndroidRuntime(25142): ... 38 more
03-31 13:47:25.104:E/AndroidRuntime(25142):致命异常:main
03-31 13:47:25.104:E/AndroidRuntime(25142):android.view.InflateException:二进制XML文件行#1:膨胀类时出错
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.LayoutInflater.createView(LayoutInflater.java:518)
03-31 13:47:25.104:E/AndroidRuntime(25142):在com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.LayoutInflater.充气(LayoutInflater.java:386)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.LayoutInflater.充气(LayoutInflater.java:320)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:332)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.AbsListView.obtainView(AbsListView.java:1456)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.ListView.makeAndAddView(ListView.java:1821)上
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.ListView.fillDown(ListView.java:686)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.ListView.fillFromTop(ListView.java:754)上
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.ListView.layoutChildren(ListView.java:1656)上
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.AbsListView.onLayout(AbsListView.java:1286)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.view.layout(view.java:7184)上
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:714)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.view.layout(view.java:7184)上
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.FrameLayout.onLayout(FrameLayout.java:338)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.view.layout(view.java:7184)上
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.view.layout(view.java:7184)上
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.FrameLayout.onLayout(FrameLayout.java:338)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.view.layout(view.java:7184)上
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.FrameLayout.onLayout(FrameLayout.java:338)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.view.layout(view.java:7184)上
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.ViewRoot.performTraversals上(ViewRoot.java:1143)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.ViewRoot.handleMessage(ViewRoot.java:1862)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.os.Handler.dispatchMessage(Handler.java:99)上
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.os.Looper.loop(Looper.java:130)上
03-31 13:47:25.104:E/AndroidRuntime(25142):位于android.app.ActivityThread.main(ActivityThread.java:3806)
03-31 13:47:25.104:E/AndroidRuntime(25142):位于java.lang.reflect.Method.Invokenactive(本机方法)
03-31 13:47:25.104:E/AndroidRuntime(25142):位于java.lang.reflect.Method.invoke(Method.java:507)
03-31 13:47:25.104:E/AndroidRuntime(25142):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-31 13:47:25.104:E/AndroidRuntime(25142):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-31 13:47:25.104:E/AndroidRuntime(25142):在dalvik.system.NativeStart.main(本机方法)
03-31 13:47:25.104:E/AndroidRuntime(25142):由以下原因引起:java.lang.reflect.InvocationTargetException
03-31 13:47:25.104:E/AndroidRuntime(25142):位于java.lang.reflect.Constructor.constructNative(本机方法)
03-31 13:47:25.104:E/AndroidRuntime(25142):位于java.lang.reflect.Constructor.newInstance(Constructor.java:415)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.LayoutInflater.createView(LayoutInflater.java:505)
03-31 13:47:25.104:E/AndroidRuntime(25142):。。。35多
03-31 13:47:25.104:E/AndroidRuntime(25142):原因:android.content.res.Resources$NotFoundException:资源不是可绘制的(颜色或路径):TypedValue{t=0x2/d=0x10102fd a=-1}
03-31 13:47:25.104:E/AndroidRuntime(25142):位于android.content.res.Resources.loadDrawable(Resources.java:1719)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.content.res.TypedArray.getDrawable(TypedArray.java:601)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.view.view.(view.java:1951)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.TextView。(TextView.java:453)
03-31 13:47:25.104:E/AndroidRuntime(25142):在android.widget.TextView。(TextView.java:446)
03-31 13:47:25.104:E/AndroidRuntime(25142):。。。38多
这是主要活动的XML:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff">
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="5dip"/>
</FrameLayout>
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#069"/>
</android.support.v4.widget.DrawerLayout>
这是适配器的代码
public class ListViewAdapter extends BaseAdapter {
// Declare Variables
Context context;
LayoutInflater inflater;
ArrayList<HashMap<String, String>> data;
ImageLoader imageLoader;
HashMap<String, String> resultp = new HashMap<String, String>();
String coment;
public String img;
public int imga;
public ListViewAdapter(Context context,
ArrayList<HashMap<String, String>> arraylist) {
this.context = context;
data = arraylist;
imageLoader = new ImageLoader(context);
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
public void addItems(ArrayList<HashMap<String, String>> arraylist) {
if(data != null) {
data.addAll(arraylist);
} else {
data = arraylist;
}
}
public View getView(final int position, View convertView, ViewGroup parent) {
// Declare Variables
TextView quien;
ImageView imagen;
TextView reporte;
TextView fecha;
VideoView video;
ImageView imgs;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.listview_item, parent, false);
// Get the position
resultp = data.get(position);
// Locate the TextViews in listview_item.xml
// Locate the ImageView in listview_item.xml
imagen = (ImageView) itemView.findViewById(R.id.imagen);
fecha = (TextView) itemView.findViewById(R.id.fecha);
quien = (TextView) itemView.findViewById(R.id.quien);
reporte = (TextView) itemView.findViewById(R.id.reporte);
video = (VideoView) itemView.findViewById(R.id.videos);
imgs = (ImageView) itemView.findViewById(R.id.imgs);
// Capture position and set results to the TextViews
// Capture position and set results to the ImageView
// Passes flag images URL into ImageLoader.class
imageLoader.DisplayImage(resultp.get(MainActivity.IMAGEN), imagen);
fecha.setText(resultp.get(MainActivity.FECHA));
reporte.setText(resultp.get(MainActivity.CONTENIDOPOST));
quien.setText(resultp.get(MainActivity.QUIEN));
if (resultp.get(MainActivity.VIDEO).length() != 0){
imageLoader.DisplayImage(resultp.get(MainActivity.IMGS), imgs);
final String videoplayer = resultp.get(MainActivity.VIDEO);
if (resultp.get(MainActivity.CONTENIDOPOST).length() == 0){
reporte.setVisibility(View.GONE);
}
imgs.setVisibility(View.VISIBLE);
imgs.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(videoplayer));
context.startActivity(intent);
}
});
}
if (resultp.get(MainActivity.IMGS).length() != 0 && resultp.get(MainActivity.VIDEO).length() <= 5){
imageLoader.DisplayImage(resultp.get(MainActivity.IMGS), imgs);
final String imagenview = resultp.get(MainActivity.IMGS);
imgs.setVisibility(View.VISIBLE);
if (resultp.get(MainActivity.CONTENIDOPOST).length() == 0){
reporte.setVisibility(View.GONE);
}
imgs.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
/*
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setDataAndType(Uri.parse(imagenview), "image/*");
context.startActivity(intent);
*/
Intent intentBrowseFiles = new Intent(Intent.ACTION_VIEW);
intentBrowseFiles.setDataAndType(Uri.parse(imagenview), "image/*");
//intentBrowseFiles.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intentBrowseFiles);
}
});
}
// Capture ListView item click
itemView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// Get the position
resultp = data.get(position);
Intent intent = new Intent(context, MenuContextual.class);
// Pass all data rank
//intent.putExtra("imagen", resultp.get(MainActivity.IMAGEN));
intent.putExtra("quien_id", resultp.get(MainActivity.QUIEN_ID));
intent.putExtra("reporte", resultp.get(MainActivity.CONTENIDOPOST));
intent.putExtra("quien", resultp.get(MainActivity.QUIEN));
intent.putExtra("fecha", resultp.get(MainActivity.FECHA));
// Start SingleItemView Class
context.startActivity(intent);
}
});
return itemView;
}
}
公共类ListViewAdapter扩展了Ba