Android:实现了HeaderListView,无法访问RowItem

时间:2013-10-22 21:53:13

标签: java android

我正在使用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() {

谢谢!

1 个答案:

答案 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);
        }
    });

似乎从未进行过点击连接。发现它有点奇怪,我想应该有另一个解决方案,但现在这个有效。

代码许可:http://applidium.github.io/HeaderListView/#license