Wie füge ich einer ListView Abschnittstrenner / -teiler hinzu?

Momentan erstelle ich ein Menü für meine App, indem ich ein DrawerLayout und eine ArrayAdapter-Unterklasse verwende, um etwas zu erreichen, das wie das Schubladenmenü von Facebook aussieht.

Ich habe derzeit keine Probleme beim Erstellen der Liste, aber jetzt, da sie gut aussieht, möchte ich Trennzeichen zwischen verschiedenen Arten von Optionen (d. H. Benutzerbezogenen und anwendungsbezogenen Optionen) und einer Suchleiste oben im Menü hinzufügen.

Der Code meiner aktuellen ArrayAdaptor-Unterklasse lautet wie folgt:

public class DrawerMenuAdapter extends ArrayAdapter<String>{
    private Context context;
    private String[] values;
    private int resId;

    public DrawerMenuAdapter(Context context, int textViewResourceId, String[] values) {
        super(context, textViewResourceId, values);
        this.context = context;
        this.values = values;
        this.resId = textViewResourceId;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent){
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View rowView = inflater.inflate(this.resId, parent, false);

        TextView elementText = (TextView)rowView.findViewById(R.id.element_text);
        ImageView elementImage = (ImageView)rowView.findViewById(R.id.element_icon);
        String textValue = values[position];

        elementText.setText(textValue);

        //This switch adds the icons to the related elements
        switch (position){
            case 0:
                elementImage.setImageResource(R.drawable.search);
                break;
            case 1:
                elementImage.setImageResource(R.drawable.facebook_friends);
                break;
            case 2:
                elementImage.setImageResource(R.drawable.flirts_history);
                break;
            case 3:
                elementImage.setImageResource(R.drawable.premium);
                break;
            case 4:
                elementImage.setImageResource(R.drawable.settings);
                break;
            case 5:
                elementImage.setImageResource(R.drawable.share_app);
                break;
            case 6:
                elementImage.setImageResource(R.drawable.cgu);
                break;
        }


        return rowView;
    }
}

Ich gehe davon aus, dass ich die Funktion überschreiben muss, die die ListView auffüllt, indem ich die Funktion getView aufrufe, aber ich kann nicht herausfinden, um welche Funktion es sich handelt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage