2016-05-25 4 views
0
List pdfFiles = new ArrayList(); 
    List directories = new ArrayList(); 
    List otherFiles = new ArrayList(); 

    /* Code to populate them */ 

    ArrayAdapter pdfFilesArrayAdapter = new ArrayAdapter(this, R.layout.pdf_files, pdfFiles); 
    ArrayAdapter otherFilesArrayAdapter = new ArrayAdapter(this, R.layout.other_files, otherFiles); 
    ArrayAdapter directoriesArrayAdapter = new ArrayAdapter(this, R.layout.directories, directories); 

Beachten Sie, dass sie drei verschiedene Arten von TextView-Layouts verwenden. Jetzt habe ich ein Listview ...Wie kombiniere ich 3 verschiedene ArrayAdapters zu einem?

ListView listView = (ListView) findViewById(R.id.list); 

ich alle Adapter dieses Listview hinzufügen möchten. Wie kombiniert man sie zu einem?

+2

Verwenden Sie meine 'MergeAdapter' verwalten: https://github.com/commonsguy/cwac- verschmelzen – CommonsWare

Antwort

0

Wenn Sie Bibliothek nicht verwenden möchten, als Sie Schlüsselwert passieren kann und in Adapterklasse

ArrayAdapter pdfFilesArrayAdapter = new ArrayAdapter(this, R.layout.pdf_files, pdfFiles,"PDF"); ArrayAdapter otherFilesArrayAdapter = new ArrayAdapter(this, R.layout.other_files, otherFiles,"Other"); ArrayAdapter directoriesArrayAdapter = new ArrayAdapter(this, R.layout.directories, directories,"DIR");