片段中的列表视图不起作用

时间:2013-08-03 08:40:19

标签: android listview fragment android-xml android-listfragment

继承我的片段代码:

public class LeftFragment extends ListFragment {

ArrayList<String> data;

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

    data = new ArrayList<String>();
    data.add("1. dell");
    data.add("2. samsung");
    data.add("3. apple");
    data.add("4. hp");

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1, data);
        setListAdapter(adapter);

    return view;
}

并且我的xml是这个片段:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FF0000" >

<TextView 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Heres the list :"/>

<ListView 
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp" />
</LinearLayout>

 logcat file says :Binary XML file line #5:error inflating class fragment !!

我的项目是:左右两个片段。 左边一个应该包含列表视图,

但我观察到的是当我不在xml中使用“ListView”时片段工作正常!!但正如我正在使用它..左片段也占据了右片段的空间。

请帮忙!谢谢!

2 个答案:

答案 0 :(得分:0)

您的错误消息似乎表明背景颜色未正确读取。对于黑色尝试使用“#ff000000”或“#ffff0000”表示红色。

答案 1 :(得分:0)

试试这个:

 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
       return inflater.inflate(R.layout.left_fragment, container, false);
}


    @Override
public void onViewCreated(View view, Bundle savedInstanceState) {
  ArrayList<String> data;  
  data = new ArrayList<String>();
  data.add("1. dell");
  data.add("2. samsung");
  data.add("3. apple");
  data.add("4. hp");

  ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1, data);
    setListAdapter(adapter);
 }