二进制XML文件行#9:错误膨胀类片段

问题描述:

我无法弄清楚为什么我得到这个错误。下面是我的代码:二进制XML文件行#9:错误膨胀类片段

View.java


public class View extends FragmentActivity { 

public static final String tview = "View"; 
Context context; 


public void onCreate(Bundle savedInstanceState) 
{ 
    try 
    { 
     context = this; 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.view_1); 
    } 
    catch(Exception ex) 
    { 
     Log.e(tview, ex.getMessage()); 
     ex.printStackTrace(); 
    } 
} 

ViewArrayAdapter.java


public class ViewArrayAdapter extends ArrayAdapter<String> { 

private final Context context; 
private ArrayList<String> values; 

public ViewArrayAdapter(Context context, ArrayList<String> values) 
{ 
    super(context, R.layout.listview, values); 
    this.context= context; 
    this.values=values; 
} 

public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = (LayoutInflater) context 
     .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    View rowView = inflater.inflate(R.layout.listview, parent, false); 
    TextView textView = (TextView) rowView.findViewById(R.id.label12); 
    CheckBox chkbox = (CheckBox) rowView.findViewById(R.id.chkbox12); 
    textView.setText(values.get(position)); 
    return rowView; 
} 

} 

ViewFragment.java


public class ViewFragment extends ListFragment{ 
public static final String tview = "View1"; 
Context context; 

public View onCreateView(LayoutInflater inflater, 
      ViewGroup container, Bundle savedInstanceState) { 

      // Inflate the layout for this fragment 
    View view = inflater.inflate(R.layout.view_fragment, 
      container, false); 

      try 
      { 


      ArrayList<String> list = getViewList(); 
      setListAdapter(new ViewArrayAdapter(getActivity(), list)); 
      }catch(Exception ex) 
      { 
       Log.e(tview, ex.getMessage()); 
      } 
      return view; 
     } 

private ArrayList<String> getViewList() 
{ 
List<Vector> list = new ArrayList<Vector>(); 

File root = android.os.Environment.getExternalStorageDirectory(); 
File sdImageMainDirectory1 = new File(root, "/java/"); 

String file_path = sdImageMainDirectory1.toString() + "/applicants.txt"; 
String entireFile = ""; 

try 
{ 
    BufferedReader br = new BufferedReader(new FileReader(file_path)); 

    try { 
     String line = br.readLine(); 

     while(line!=null) 
     { 
      StringTokenizer st = new StringTokenizer(line,"|"); 
      int count=0; 
      String tok1="", tok2="", tok3=""; 
      Vector<String> vec = new Vector<String>(); 
      while(st.hasMoreTokens()) { 
       switch(count){ 
       case 0: 
        tok1 = st.nextToken(); 
        break; 
       case 1: 
        tok2 = st.nextToken(); 
        break; 
       case 2: 
        tok3 = st.nextToken(); 
        break; 
       default: 
        break; 
       } 
       count++; 
      } 
      vec.add(tok1); 
      vec.add(tok2); 
      vec.add(tok3); 
      list.add(vec); 
      line=br.readLine(); 
     } 
    } catch (Exception e) { 
     Log.e(tview, "error while reading applicants.txt!"); 
    } 
}catch (Exception e) 
{ 
    Log.e(tview, "error while initializing applicants.txt!"); 

} 

ArrayList<String> mylist = new ArrayList<String>(); 
int i=0; 
while(i<list.size()){ 
    String mystring = list.get(i).elementAt(0).toString() + " "; 
    mystring +=list.get(i).elementAt(1).toString() + " "; 
    mystring +=list.get(i).elementAt(2).toString() + " "; 
    mylist.add(mystring); 
    i++; 
} 

return mylist; 
} 

} 

listview.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:padding="5dp" > 

<CheckBox 
     android:id="@+id/chkbox12" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft="10dp"> 
</CheckBox> 


<TextView 
    android:id="@+id/label12" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@+id/label" 
    android:textSize="30px" > 
</TextView> 

</LinearLayout> 

view_1.xml


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#f0f0f0" 
android:orientation="vertical"> 

<include layout="@layout/view" /> 

    <fragment 
    android:id="@+id/view_fragment" 
    class="com.example.test.ViewFragment" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true"/> 


</RelativeLayout> 

view.xml用


<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="620dp" 
android:background="#ffffffff" 
android:orientation="vertical" 
android:id="@+id/layout"> 

<TextView android:layout_width="fill_parent" 
    android:layout_height="70dp" android:text="TEST" 
    android:background="#614767" 
    android:textSize="32sp" 
    android:textColor="#ffffffff" 
    android:gravity="center" 
    android:paddingLeft="40dp" 
    android:id="@+id/header" 
    /> 

    <ImageView 
     android:layout_height="46dp" 
     android:src="@drawable/logo_web" 
     android:id="@+id/logo" 
     android:layout_width="70dp" 
     android:gravity="center" 
     android:paddingLeft="5dp" 
     android:paddingTop="10dp" 
     /> 
    </RelativeLayout> 

view_fragment.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 


<CheckBox 
     android:id="@+id/chkbox121" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft="10dp"> 
</CheckBox> 

<TextView 
    android:id="@+id/label121" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@+id/label" 
    android:textSize="30px" > 
</TextView> 

</LinearLayout> 

logcat的消息


04-25 01:48:40.680: E/View(7473): Binary XML file line #9: Error inflating class fragment 

    04-25 01:48:40.681: W/System.err(7473): android.view.InflateException: Binary XML file line #9: Error inflating class fragment 
    04-25 01:48:40.682: W/System.err(7473):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763) 
    04-25 01:48:40.683: W/System.err(7473):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
    04-25 01:48:40.683: W/System.err(7473):  at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
    04-25 01:48:40.683: W/System.err(7473):  at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
    04-25 01:48:40.683: W/System.err(7473):  at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
    04-25 01:48:40.683: W/System.err(7473):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:378) 
    04-25 01:48:40.684: W/System.err(7473):  at android.app.Activity.setContentView(Activity.java:2145) 
    04-25 01:48:40.684: W/System.err(7473):  at com.example.test.View.onCreate(View.java:56) 
    04-25 01:48:40.684: W/System.err(7473):  at android.app.Activity.performCreate(Activity.java:5990) 
    04-25 01:48:40.684: W/System.err(7473):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
    04-25 01:48:40.684: W/System.err(7473):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
    04-25 01:48:40.685: W/System.err(7473):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
    04-25 01:48:40.685: W/System.err(7473):  at android.app.ActivityThread.access$800(ActivityThread.java:151) 
    04-25 01:48:40.685: W/System.err(7473):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
    04-25 01:48:40.685: W/System.err(7473):  at android.os.Handler.dispatchMessage(Handler.java:102) 
    04-25 01:48:40.685: W/System.err(7473):  at android.os.Looper.loop(Looper.java:135) 
    04-25 01:48:40.685: W/System.err(7473):  at android.app.ActivityThread.main(ActivityThread.java:5254) 
    04-25 01:48:40.686: W/System.err(7473):  at java.lang.reflect.Method.invoke(Native Method) 
    04-25 01:48:40.686: W/System.err(7473):  at java.lang.reflect.Method.invoke(Method.java:372) 
    04-25 01:48:40.686: W/System.err(7473):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
    04-25 01:48:40.686: W/System.err(7473):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
    04-25 01:48:40.686: W/System.err(7473): Caused by: java.lang.RuntimeException: Content has view with id attribute 'android.R.id.list' that is not a ListView class 
    04-25 01:48:40.688: W/System.err(7473):  at android.app.ListFragment.ensureList(ListFragment.java:402) 
    04-25 01:48:40.688: W/System.err(7473):  at android.app.ListFragment.onViewCreated(ListFragment.java:203) 
    04-25 01:48:40.689: W/System.err(7473):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:875) 
    04-25 01:48:40.689: W/System.err(7473):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1045) 
    04-25 01:48:40.689: W/System.err(7473):  at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1147) 
    04-25 01:48:40.690: W/System.err(7473):  at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2116) 
    04-25 01:48:40.690: W/System.err(7473):  at android.app.Activity.onCreateView(Activity.java:5328) 
    04-25 01:48:40.690: W/System.err(7473):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733) 
    04-25 01:48:40.690: W/System.err(7473):  ... 20 more 

可有人请帮我鉴定我做错了什么吗?

谢谢

+0

入住这可能会帮助HTTP: //堆栈溢出。com/questions/26906418/binary-xml-file-line-11-error-inflating-class-fragment – Raghavendra

+0

请发布整个日志猫消息 –

+0

添加logcat消息 – Ajay

我可以修复这个错误。下面是我的代码

取得ViewFragment.java


变化
public class ViewFragment extends ListFragment{ 
public static final String tview = "View1"; 
Context context; 

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 
    View view = inflater.inflate(R.layout.view_fragment, container, false); 

    return view; 
} 

public void onActivityCreated(Bundle savedInstanceState) 
{ 
     super.onActivityCreated(savedInstanceState); 
     ArrayList<String> list = getViewList(); 
     ViewArrayAdapter adapter = new  ViewArrayAdapter(getActivity(), list); 
     setListAdapter(adapter); 
} 
} 

view_fragment.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

    <ListView android:id="@id/android:list" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      />