2013-01-24 40 views
0

我正在寫一個應用程序,該程序允許用戶輸入URL,然後選擇放置下載文件的位置。但是我陷入了第二步。 我想要做的就是顯示這樣的位置: enter image description here顯示SD卡路徑以選擇用於存儲下載文件

並返回到位置的路徑。 任何人都有解決方案?提前致謝! PS:顯示外部存儲器。

回答

0

這是我該怎麼辦,和它的作品對我來說:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_tree_view); 

    File dir = new File("/sdcard"); 
    ArrayList<String> folders = new ArrayList<String>(); 
    final File[] fileList = dir.listFiles(); 

    if (fileList == null){ 
     Toast msg = Toast.makeText(this, "No files", 3000); 
     msg.show(); 
    }else{ 
     for (File f:fileList){ 
      if (f.isDirectory()){ 
       folders.add(f.getName()); 
      } 
     } 
     final ListView lvFolder = (ListView)findViewById(R.id.lvTree); 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_selectable_list_item, folders); 
     lvFolder.setAdapter(adapter); 
     lvFolder.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> arg0, View v, 
        int position, long id) { 
       // TODO Auto-generated method stub 
       Object o = lvFolder.getItemAtPosition(position); 
       String fullObject = (String)o; 
       Toast.makeText(getApplicationContext(), "You have chosen: " + " " + fullObject.toString(), Toast.LENGTH_LONG).show(); 
      } 
     }); 
    } 

} 
0

創建活動

public class ... extend activity 
    { 

    string path = "/"; 

    public void onResume() 
    { 
    ... 
    setContentView(..); 
    if (getIntent().hasExtra("path")) 
    { 
     path = getIntent().getStringExtra("path"); 
    } 

    listview = findviewbyid(R.id.listview); 

    listview.setAdapter(new adapter(path)); 

    listview.setOnItemClickListener(this); 
    } 

    public void onActivityResult(result) 
    { 
     if (resultOK) ... 
    } 

    public void onclicklisteneer(view,pos,id) 
    { 
    if (dir) 
    { 
     Intent intent = new Intent(this, this.class); 
     intent.put("path",path+" "+view.getAdapter().getItem(pos)) 
     intent.setFlag(FLAG_NEW_TASK) 
     startActivityForResult(intent) 
    } 
    else if (file) 
    { 
     setResult(Result_OK); 
     finish(); 
    } 

    } 

    } 
相關問題