2016-05-25 2 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); 

Обратите внимание, что они используют три разных типа макетов TextView. Теперь у меня есть ListView ...Как объединить 3 разных arrayAdapters в один?

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

Я хочу, чтобы добавить все адаптеры к этому ListView. Как объединить их в один?

+2

Используйте мой 'MergeAdapter': https://github.com/commonsguy/cwac- сливаться – CommonsWare

ответ

0

Если вы не хотите использовать библиотеку, чем вы можете передать значение ключа и управления в классе адаптера

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");