Как отключить или не показывать заголовки для StickyListHeaders от emilsjolander

Я использую https://github.com/emilsjolander/StickyListHeaders в качестве основного списка для большинства приложений. . Я поместил этот список в один макет, который я использую для всех своих списков. Однако в некоторых случаях я не хочу показывать заголовки, я просто хочу показать обычный список, например список.

Есть ли способ настроить StickyListHeaders так, чтобы заголовки вообще не отображались? Есть варианты сделать заголовки нелипкими. Я хочу, чтобы заголовки просто не отображались, возможно ли это с существующим API?

    @Override
    public View getHeaderView(int position, View convertView, ViewGroup parent) {
        // do nothing
        return null;
    }

    @Override
    public long getHeaderId(int position) {
        // do nothing
        return 0;
    }

person lazypig    schedule 16.07.2013    source источник


Ответы (4)


На самом деле есть гораздо более простой способ

@Override
public View getHeaderView(int position, View convertView, ViewGroup parent) {
    return new View(parent.getContext());
}
person baneizalfe    schedule 07.12.2014

У меня было такое же требование, и мне удалось исправить StickyListHeaders, чтобы он вел себя как обычный список, когда getHeaderView возвращает значение null. До сих пор я еще не сталкивался с побочными эффектами этого изменения: https://github.com/mtotschnig/StickyListHeaders/commit/9252a6fe5367bc2421739bb5d34856343236dd24

person mtotschnig    schedule 10.08.2013

Попробуйте это, чтобы отключить заголовок представления прикрепленного списка:

    @Override
    public View getHeaderView(int position, View convertView, ViewGroup parent) {
        HeaderViewHolder holder;
        holder = new HeaderViewHolder();
        convertView = inflater.inflate(R.layout.header, parent, false);
        holder.text1 = (TextView) convertView.findViewById(R.id.text1);
        convertView.setTag(holder);

        convertView.setVisibility(View.VISIBLE);
        String headerText = "";


        } else if (position > mainList.size() - 1) {
            headerText = "Categories";
        } else {
            headerText = "";
            return new View(getActivity());
        }

        holder.text1.setText(headerText);
        return convertView;
    }
person Community    schedule 01.08.2013

Недавно у меня также было это требование, и в итоге я исправил версию 2.3.0 библиотеки, чтобы разрешить нулевые заголовки: https://github.com/xlsior/StickyListHeaders/tree/null-headers

person Suraj C    schedule 23.04.2014