5

ListView`de bir dizindeki dosyaların nasıl gösterileceğini merak ediyorum. dosyalar ile sıralanabilir:ListView'de dosya listesi gösteriliyor

File dir = new File(dirPath); 
File[] filelist = dir.listFiles(); 

ve ArrayAdapter aracılığıyla ListView eklenen ama ArrayAdapter kullanımını alamadım.

+0

tam sorun nedir? 'arrayAdapter nasıl yönetileceği', 'bir liste nasıl oluşturulur' hakkında çok fazla soru var. Sizin için sadece farklı dosyaların isimlerini bir klasörden liste görünümüne göstermek istediğinizi düşünüyorum. Bağdaştırıcınıza bir ArrayList dizesi iletmeniz gerekir. Resmi belgelere bakın, bir ListView'in nasıl yapılacağı hakkında bazı örnekler var. –

cevap

14

Ben size deneyebilirsiniz böylece dizinden dosyaların isimlerini göstermek istiyorum sanırım bu:

File dir = new File(dirPath); 
File[] filelist = dir.listFiles(); 
String[] theNamesOfFiles = new String[filelist.length]; 
for (int i = 0; i < theNamesOfFiles.length; i++) { 
    theNamesOfFiles[i] = filelist[i].getName(); 
} 

listesiyle kullanmak adaptör:

new ArrayAdapter<String>(this, android.R.layout.simple_list_item, theNamesOfFiles); 

daha karmaşık bir şey için Özel bir bağdaştırıcı uygulamak zorunda olduğunuz dosyaların adlarını göstermek yerine.

+0

Dosyanın isimleri ile oluşturma/değiştirilme tarihi nasıl olur? – Si8

+0

@ SiKni8 'File' sınıfı maalesef, yalnızca son dosya değişikliğinin oluşturulma tarihini değil, yalnızca oluşturma tarihini gösterir. Dosyanın adının yanı sıra özel bir adaptör veya verileri içeren bir Hashmap kullanabileceğinizi ve bir 'SimpleAdapter' kullanabildiğinizi göstermek için. – Luksprog

+0

Yanıt için teşekkürler. Değiştirilmiş tarihin benim için yeterli olduğunu düşünüyorum. Bir sorum var ikonun sağ üst kısmının ve değiştirilmiş tarih simgesinin sağ alt tarafındaki özel bir simgeyi ve ardından özel bir simge görüntülemek istiyorum. Bunu nasıl başarabilirim? – Si8

1

Yoksa Sıralanmış Stringfilenames arasında böyle bir şey kullanabilirsiniz:

File dataDirectory = Environment.getDataDirectory(); 
File fileDir = new File(dataDirectory, "data/com.yourapp.app/files"); 

String[] listItems = fileDir.list(); 
Arrays.sort(listItems); 
İlgili konular