在列表之间添加listView标头

时间:2016-02-01 17:08:29

标签: android listview header

这是我的listView enter image description here

我想在2016-02-022016-01-31的1月份添加2月标题。可能吗?

2 个答案:

答案 0 :(得分:1)

在android中称为ExpandableListView

您可以尝试本教程:

http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/

它还有一个样本供下载。

答案 1 :(得分:1)

是的,您可以通过在适配器类中的getView()方法中返回不同的视图来执行此操作。在您的主列表中,您传递给您的适配器,您可以添加一个分隔项,一个字符串,或者你持有所有这些数据,我假设一个自定义类,你知道它是为了显示一个月标题。您可以快速检查getView()方法并返回显示月份的其他视图..

在你的getView()方法中,你可以这样做......

    @Override
public View getView(final int position, View convertView, ViewGroup parent){
    LayoutInflater mInflator = LayoutInflater.from(getContext());
    View customView = mInflator.inflate(R.layout.times_layout, parent, false);
    Time temp = getItem(position);

    //Check to see if the time is supposed to be a header
    //This is where you check to see if it meant to be a section header
    if(temp.getDate.equals("HEADER")){
        //Header, return section view instead of normal view
        View sectionHeader = mInflator.inflate(R.layout.layout_list_divider, parent, false);
        TextView txt_Section = (TextView) sectionHeader.findViewById(R.id.txt_Header);
        sectionHeader.setClickable(false);
        return sectionHeader;
    }
    //Normal View... do what you would do normally



    return customView;
}

我希望这有帮助!让我知道..它对我有用