如何在片段中为listview实现适配器

时间:2016-04-04 14:23:49

标签: android listview adapter

我正在尝试在我的标签中创建一个ListView,其中Fragment。我尝试使用android.R.layout.simple_expandable_list_item_1时收到错误。

以下是代码:

public class Tab1 extends Fragment {
    ListView listView;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle   savedInstanceState) {
        View view =  inflater.inflate(R.layout.tab_1, container, false);
        ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1); //<-- get error here.
        listView = (ListView) view.findViewById(R.id.listViewTab1);
        return view;
    }
}

有谁知道我怎么做?

2 个答案:

答案 0 :(得分:0)

ArrayAdapter的第一个参数需要是Context,使用thisFragment)不是一个参数。请使用托管Activity的{​​{1}}代替Fragment。另外,不要忘记在listView上实际设置适配器,并在某些时候将数据添加到适配器。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle   savedInstanceState) {
    View view =  inflater.inflate(R.layout.tab_1, container, false);
    ArrayAdapter<String> adapter1 = 
            new ArrayAdapter<String>(getActivity(),
                    android.R.layout.simple_expandable_list_item_1);

    listView = (ListView) view.findViewById(R.id.listViewTab1);
    listView.setAdapter(adapter1);
    return view;
}

答案 1 :(得分:0)

下次请发布您收到的错误。 &#34;错误&#34;可能是什么。但是在这种情况下,乔治·穆利根可能是正确的。