您的内容必须具有ListView,其id属性为' android.R.id.list'我试图创建一个listfragment

时间:2015-12-14 20:59:31

标签: android android-fragments android-listfragment

我是android studio中的新手,我试图创建一个带有列表的片段并将其显示在我用来显示所有片段的抽屉类中,我已经阅读了很多帖子但是我无法找到我要找的答案,让我粘贴您的代码,以便您查看。

布局代码:

Subscription

片段类代码:

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

    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/lista"
        android:layout_gravity="center_horizontal" />
</LinearLayout>

抽屉类代码:

public class FragmentoPrincipalChofer extends ListFragment {
    private List<ParseObject> mViaje;
    private ListView mLista;

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

        View x = inflater.inflate(R.layout.fragmento_principal_chofer, container, false);
        mLista = (ListView)x.findViewById(R.id.lista);
        String[] nombres= new String[2];
        nombres[0]="gaston";
        nombres[1]="gaston";
        ArrayAdapter<String> adaptador = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, nombres);
        mLista.setAdapter(adaptador);

        return x;

    }

1 个答案:

答案 0 :(得分:0)

您正在使用ListFragment所以......

  

ListFragment具有由单个列表视图组成的默认布局。但是,如果需要,可以通过从onCreateView(LayoutInflater,ViewGroup,Bundle)返回自己的视图层次结构来自定义片段布局。要执行此操作,您的视图层次结构必须包含一个ListView对象,其ID为&#34; @android:id / list&#34; (或列出代码中的代码)

ListView XML更改为以下

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@android:id/list"
    android:layout_gravity="center_horizontal" />

你对它的引用

mLista = (ListView)x.findViewById(android.R.id.list);