在ListFragment中未调用onListItemClick

时间:2012-02-19 04:22:23

标签: android listview fragment

我有一个包含列表的ListFragment但是从不调用onListItemClick。我没有使用getListView()我怀疑是问题。我正在从xml中拉出我的列表视图:

    list = (ListView) getActivity().findViewById(android.R.id.list);

然后像这样设置适配器:

    list.setAdapter(new CustomAdapter(getActivity(), R.layout.title, mCursor, new String[]{"title"},  new int[]{R.id.my_title}) );

由于我需要在列表上设置适配器,所以我也不使用setListAdapter()。是不是可以从xml中提取列表并使用onListItemClick?我想将列表视图保留在xml中,因此我不必以编程方式设置所有属性。

如果无法做到这一点,我该如何选择列表中的项目?

由于

1 个答案:

答案 0 :(得分:0)

行。试试这个答案。保持您的布局文件不变。在FragmentList类中重写以下方法:

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

确保您的布局使用正确的ID定义ListView,如下所示:

 <ListView android:id="@id/android:list"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:layout_weight="1"
           android:drawSelectorOnTop="false"/>

然后,只需调用FragmentList :: setListAdapter:

setListAdapter(new CustomAdapter(getActivity(), R.layout.title, mCursor, new String[]{"title"},  new int[]{R.id.my_title}) );

应该工作,嘀嘀咕咕。