我有一个包含列表的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中,因此我不必以编程方式设置所有属性。
如果无法做到这一点,我该如何选择列表中的项目?
由于
答案 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}) );
应该工作,嘀嘀咕咕。