Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android——文件目錄選擇

android——文件目錄選擇

編輯:關於Android編程

 

 

主活動的布局文件 activity_main.xml

 

android:layout_width=fill_parent
android:layout_height=fill_parent
android:orientation=vertical >

android:id=@+id/filedire_button1
android:layout_width=match_parent
android:layout_height=wrap_content
android:text=選擇文件 />

android:id=@+id/filedire_textView1
android:layout_width=match_parent
android:layout_height=match_parent
android:text= />

 

 

顯示圖片如下

\

 

 

創建適配器所需的布局文件 adapter.xml

 


android:layout_width=match_parent
android:layout_height=match_parent
android:orientation=vertical >

android:id=@+id/adapter_listView1
android:layout_width=match_parent
android:layout_height=wrap_content >


android:layout_width=match_parent
android:layout_height=wrap_content
android:orientation=horizontal >

android:id=@+id/adapter_image
android:layout_width=wrap_content
android:layout_height=wrap_content
android:layout_weight=0.48
android:src=@drawable/ic_launcher />

android:id=@+id/adapter_filename
android:layout_width=242dp
android:layout_height=match_parent
android:text=TextView />



 


主活動程序 MainActivity.java

package com.example.filedirec;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.SimpleAdapter;
import android.widget.TextView;

public class MainActivity extends Activity {
private Button chooseFile;
private TextView fileDire;
private String curPath = new String(/);

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

chooseFile = (Button)findViewById(R.id.filedire_button1);
fileDire = (TextView)findViewById(R.id.filedire_textView1);

chooseFile.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
openCurDir(curPath);
}
});
}

private void openCurDir(String curPath){
File f = new File(curPath);
File[] file = f.listFiles();
final List> listItem = new ArrayList>();

if(!curPath.equals(/)){//如果不是根目錄的話就在要顯示的列表中加入此項
Map map1=new HashMap();
map1.put(name, 返回上一級目錄);
map1.put(image, R.drawable.back02);
map1.put(path,f.getParent());
map1.put(isDire, true);
listItem.add(map1);
}

if(file != null){//必須判斷 否則目錄為空的時候會報錯
for(int i = 0; i < file.length; i++){
Map map=new HashMap();
map.put(name, file[i].getName());
map.put(image, (file[i].isDirectory()) ? R.drawable.folder : R.drawable.doc);
map.put(path,file[i].getPath());
map.put(isDire, file[i].isDirectory());
listItem.add(map);
}
}

SimpleAdapter adapter = new SimpleAdapter(MainActivity.this,listItem,R.layout.adapter,
new String[]{name,image},new int[]{R.id.adapter_filename,R.id.adapter_image});

final AlertDialog.Builder b =new Builder(MainActivity.this);
b.setAdapter(adapter, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
if((Boolean) listItem.get(arg1).get(isDire)){
openCurDir((String)listItem.get(arg1).get(path));
}else{
fileDire.setText((String)listItem.get(arg1).get(path));
}
}
});
b.show();
}

}

 

對話框顯示如下

\

 

 

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved