我正在使用HeaderListView(http://applidium.github.io/HeaderListView/)向ListView添加粘性标头。一切都很好,但我无法找出点击了哪个项目。不幸的是,他们没有在演示应用程序中显示它。
我在他们的网站上发现我需要使用onRowItemClick方法,但不知道如何调用它。到目前为止我所拥有的:
SectionListAdapter bindingData = new SectionListAdapter(c, inflater, 3); //SectionListAdapter extends SectionAdapter
articleList.setAdapter(bindingData); //articleList = HeaderListView
// Click event for single list row
articleList.setOnItemClickListener(new OnClickListener() {
public void onRowItemClick(AdapterView<?> parent, View view, int section, int row, long id) {
Intent i = new Intent();
i.setClass(getActivity(), ArticleActivity.class);
// Pass object to next activity
startActivity(i);
}
});
我在下一行中做错了什么?
articleList.setOnItemClickListener(new OnClickListener() {
谢谢!
答案 0 :(得分:1)
查看源代码后,您似乎必须创建自定义适配器类(例如:MyCustomSectionAdapter,也许这是您的'SectionListAdapter')。
在本课程中,您将实现以下方法:
public void onRowItemClick(AdapterView<?> parent, View view, int section, int row, long id) {
}
我想应该调用哪个。
修改强>
我已经下载了代码,但它也不适用于我。
将第40行的以下代码添加到HeaderListView类之后,它确实有效。
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (mAdapter != null)
mAdapter.onItemClick(parent, view, position, id);
}
});
似乎从未进行过点击连接。发现它有点奇怪,我想应该有另一个解决方案,但现在这个有效。