這是我已經有了InflateException:二進制XML文件
12-05 13:26:18.102: E/AndroidRuntime(10101): FATAL EXCEPTION: main
12-05 13:26:18.102: E/AndroidRuntime(10101): Process: com.example.project_1_4, PID: 10101
12-05 13:26:18.102: E/AndroidRuntime(10101): java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.project_1_4/
com.example.project_1_4.MainActivity}: android.view.InflateException: Binary XML file line #14:
Error inflating class fragment
我的XML文件中的錯誤 - 我想我錯過了支架,當我張貼。現在我糾正它。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="410dp" >
</ListView>
</LinearLayout>
源代碼
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.zip.Inflater;
import android.app.ListFragment;
import android.content.Context;
import android.os.Bundle;
import android.view.InflateException;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
public class Dday_fragment extends ListFragment{
ArrayList<Detail> detailList = new ArrayList<Detail>();
ArrayList<String> detailName = new ArrayList<String>();
DetailOperation DetailDBOperation;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view = new View(getActivity());
try{
view = inflater.inflate(R.layout.dday_fragment, container, false);
}catch (InflateException e){
}
DetailDBOperation = new DetailOperation(null);
try {
DetailDBOperation.open();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(DetailDBOperation.getAllDetail()!=null){
detailList = DetailDBOperation.getAllDetail();
}else{
detailList = null;
}
int size = detailList.size();
for(int i = 0; i < size; i++){
detailName.add(detailList.get(i).getSubjectName());
}
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, detailName);
setListAdapter(adapter);
return view;
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
Detail_fragment dtf = (Detail_fragment) getFragmentManager().findFragmentById(R.layout.detail_fragment);
dtf.change(position);
getListView().setSelector(android.R.color.holo_red_dark);
}
}
這Dday_fragment.java 的完整的代碼怎麼用onListItemClick如果我不使用ListFragment? 我想要的是顯示dday_fragment, 中的項目列表,還有另一個xml隨用戶選擇的項目ID而變化。 另一個xml將顯示項目的詳細信息。 所以我用onListItemClick來改變和設置另一個XML文本。
請問您可以發佈dday_fragment完整的xml代碼嗎? – 2014-12-05 04:51:41
如果使用LisstFragment擴展片段,則不需要在xml文件中使用ListView。 – Shvet 2014-12-05 04:55:45
這是完整的xml代碼哈哈 – 2014-12-05 12:59:17