2012-08-23 72 views
2

我正在android應用程序。在按鈕上單擊我只需要打開具有pdf的特定文件夾,以便用戶可以選擇某些pdf從該文件夾讀取。打開文件夾上的按鈕點擊「我的文件」應用程序

我設法從列出文件夾中的PDF所有文件,但是這不是我所需要的。最合理的解決方案就是用「我的文件」應用程序打開文件夾,該文件已經是Android OS的一部分。有沒有乳清在Android上做到這一點?

+0

我只是想提到「我的文件」不是Android操作系統的一部分。它只是一些ROM的一部分。你不能假設所有設備上都有「我的文件」 – Sprigg

回答

1

此代碼在沒有「我的文件」應用程序,這是更好的解決方案。

public class AndroidListFilesActivity extends ListActivity { 

    File root; 
    File pdf; 

    private List<String> fileList = new ArrayList<String>(); 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     root = new File(Environment.getExternalStorageDirectory() 
       .getAbsolutePath()); 
     // ListDir(root); 

     pdf = new File(root, "PDF"); 
     ListDir(pdf); 
    } 

    void ListDir(File f) { 
     File[] files = f.listFiles(); 
     fileList.clear(); 
     for (File file : files) { 
      fileList.add(file.getPath()); 
     } 

     ArrayAdapter<String> directoryList = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, fileList); 

     setListAdapter(directoryList); 

    } 

    public void onListItemClick(ListView parent, View v, int position, long id) { 
     //selection.setText(fileList.indexOf(simple_list_item_1)); 
     OpenPdf(fileList.get(position).toString()); 
    } 

    public void OpenPdf(String path) 
    { 
      File file = new File(path); 
      if (file.exists()) { 
       Uri p = Uri.fromFile(file); 
       Intent intent = new Intent(Intent.ACTION_VIEW); 
       intent.setDataAndType(p, "application/pdf"); 
       intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

       try { 
        startActivity(intent); 
       } 
       catch (ActivityNotFoundException e){ 
       } 
      } 
    } 
} 
1

要小心。並非所有的Android設備都有「我的文件」應用程序。所以最好的方法是創建你自己的列表/文件瀏覽器。

1

這裏是我的列表文件的代碼,怎麼現在開上點擊PDF文件。

public class AndroidListFilesActivity extends ListActivity { 

    private List<String> fileList = new ArrayList<String>(); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     File root = new File(Environment.getExternalStorageDirectory() 
       .getAbsolutePath());  
     File pdf = new File(root, "PDF"); 
     ListDir(pdf); 
    } 

    void ListDir(File f) { 
     File[] files = f.listFiles(); 
     fileList.clear(); 
     for (File file : files) { 
      fileList.add(file.getPath()); 
     } 

     ArrayAdapter<String> directoryList = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, fileList); 
     setListAdapter(directoryList); 
    } 

} 
相關問題