如何在Fragment中创建自定义ListView?

时间:2015-04-18 00:09:33

标签: android listview android-fragments

我有一个ListViewFragment内工作得很好。

public class MyFragment extends Fragment {

    String[] itemname ={ "item 1", "item 2", "item 3"};

    ListView my_list;

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

        View v = inflater.inflate(R.layout.fragment_example, container, false);

        my_list = (ListView) v.findViewById(R.id.listView1);
        ArrayAdapter<String> adapter =
        new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, itemname); 

         my_list.setAdapter(adapter);  

        return v;
        }
}

因此,当我尝试将其设置为自定义 ListView时,它会返回NullPointerException

ArrayAdapter<String> adapter =
        new ArrayAdapter<String>(getActivity(), R.layout.custom_list, itemname); 

         list_poderes.setAdapter(adapter);  

这里发生了什么?我该如何实施呢?

1 个答案:

答案 0 :(得分:1)

您只需将列表作为适配器的资源ID传递即可实现此目的。您可以执行以下步骤。

  1. 为列表视图行创建自定义视图。
  2. 定义由BaseAdapter扩展的自定义适配器类
  3. 在getView()方法中对上面的(01)视图进行充气。
  4. 准备您的数据模型并将其传递到片段中的适配器。
  5. 您会找到合适的示例here