2011-10-16 30 views
1

我正嘗試使用sd卡上創建的文件夾中的視頻文件填充listview。我正在使用在列表視圖中顯示來自sd卡的特定文件夾的視頻

managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,mystring, null, null, null); 

但它填充保存在SD卡中的所有視頻,但我只想要那些保存在特定文件夾中的視頻。我也用

Uri uri = Uri.fromFile(filepath); 
cursor = managedQuery(uri, mystring , null , null , null); 

Uri uri = Uri.parse(filepath); 
cursor = managedQuery(uri, mystring , null , null , null); 

但它不工作。我嘗試了很多,並從谷歌的幫助仍然沒有成功。 有什麼辦法給這個文件夾的路徑?或者其他方式?

回答

0

你可以得到一個文件形成這樣

item = new ArrayList<String>(); 
path = new ArrayList<String>(); 

File f = new File("/sdcard/"); 

// or you can use File f=new File(Environment.getExternalStorageDirectory().getPAth()); 
File[] files = f.listFiles(); 


for(int i=0; i < files.length; i++) 
{ 
    File file = files[i]; 
    path.add(file.getPath()); 
    if(file.isDirectory()) 
    item.add(file.getName() + "/"); 
    else 
    item.add(file.getName()); 
} 

ArrayAdapter<String> fileList = 
    new ArrayAdapter<String>(this, R.layout.row, item); 
setListAdapter(fileList); 
+0

謝謝安德烈。我試過你的代碼,它給出了一些錯誤,比如setListAdapter對於類型活動是未定義的。我點擊任何行,我應該寫私人OnItemClickListener videogridlistener =新的OnItemClickListener()方法? – Larik

+0

其實我在這裏使用光標。我該如何使用光標? – Larik

+0

嗨,有一個例子[這裏](http://stackoverflow.com/questions/5039779/displaying-images-from-a-specific-folder-on-the-sdcard-using-a-gridview)顯示圖像使用遊標。你可能能夠適應你的需求。 – Andrei

0

哎managedquery搜索整個SD卡不是特定文件夾的具體位置。 上述方法是真實的顯示文件的名稱,但如果你要顯示縮略圖創建thumbmail和存儲在Hashmap並將其填充到圖庫適配器的列表..........

1

你可以使用此代碼獲取來自特定文件夾的視頻:

String selection=MediaStore.Video.Media.DATA +" like?"; 
     String[] selectionArgs=new String[]{"%FolderName%"}; 
     videocursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, 
       parameters, selection, selectionArgs, MediaStore.Video.Media.DATE_TAKEN + " DESC"); 
相關問題