我想單擊我的活動中的按鈕並打開一個單獨的活動,顯示我想要訪問的文件夾的數組列表。因此,進入下一個活動的代碼很簡單(以意圖開始新活動)。但是,我想在arraylist中的這個新活動中顯示文件夾的內容。文件夾中的文件的ArrayList Android內部存儲/存儲/模擬/ 0/
此內容的路徑位於設備的內部存儲器中(不是外部/ SD卡存儲器)。
我想從以下目錄
顯示文件/storage/emulated/0/Android/data/com.../files/
COM ...是假的路徑名,這只是爲了說明包名。
所以底線是我想在我的新活動中的arraylist文件(文本文件或圖片等)中顯示的內容。每當我嘗試用'文件'指向此路徑時,它不顯示數組列表,而是顯示一個空白屏幕。
因此,例如:
String path = "/storage/emulated/0/Android/data/com.../files/";
File dir = new File(path);
List values = new ArrayList();
String[] list = dir.list();
if (list != null) {
for (String file : list) {
if (!file.startsWith(".")) {
values.add(file);
}
}
}
Collections.sort(values);
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_2, android.R.id.text1, values);
setListAdapter(adapter);
你的Arraylist是否被填充?使用不Rooted的設備,您只能訪問非常特定的目錄;因此你的'dir.list()'可能會返回null –
Galvin, 我調試了程序,是的它返回null。我正在使用非根設備。這是因爲並非所有用戶都擁有根設備。如果設備沒有固定,是否沒有任何方式訪問內部存儲? 或者,有沒有一種方法可以放入最少的或某些代碼來創建將用戶帶到此文件夾的現場文件管理器? –
您只能訪問sdcard和此處列出的目錄getApplicationContext()。getApplicationInfo()。dataDir' –