国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android編寫文件瀏覽器簡單實現(xiàn)

2019-12-12 04:44:19
字體:
供稿:網(wǎng)友

有時候我們保存文件總會用到文件瀏覽器功能.那么今天博主帶大家做一個。

那么開始,瀏覽文件,我們就需要寫一個文件工具類。

import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;  import android.util.Log;  public class FileUtils {   /**    * 獲取當(dāng)前目錄下的所有文件或文件夾    * @param path 路徑    * @return    */   public static List<Map<String,Object>> GetPathFilsList(String path) {     List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();     List<Map<String,Object>> filelist = new ArrayList<Map<String,Object>>();     try {       String[] Files = new File(path).list();       for(String file : Files){         Map<String, Object> map = new HashMap<String, Object>();         if(new File(path+file).isDirectory()){           map.put("isDirectory",2);           map.put("fileName", file);                      list.add(map);         }else {           map.put("isDirectory", 1);           map.put("fileName", file);                      filelist.add(map);         }                       }       list.addAll(filelist);       return list;     } catch (Exception e) {       // TODO: handle exception       e.printStackTrace();       return null;     }   } } 

這里會將文件和文件夾區(qū)分出來,便于顯示區(qū)分。

之后我們需要用到一個適配器,用于顯示這些數(shù)據(jù)的ListView

private class FileBrowserAdapter extends BaseAdapter{     private List<Map<String, Object>> fileList;     private Context context;      public FileBrowserAdapter(Context Context,         List<Map<String, Object>> fileList) {       this.fileList = fileList;       this.context = context;     }      @Override     public int getCount() {       return fileList == null ? 0 : fileList.size();     }      @Override     public Object getItem(int position) {       return fileList.get(position);     }      @Override     public long getItemId(int position) {       return position;     }      @SuppressLint("InflateParams")     @Override     public View getView(int position, View convertView, ViewGroup parent) {        LayoutInflater mInflater = LayoutInflater           .from(getApplicationContext());       View view = null;       view = mInflater.inflate(R.layout.file_list_item, null);       ImageView image = (ImageView) view           .findViewById(R.id.file_list_item_image);       if (Integer           .parseInt(fileList.get(position).get("isDirectory") + "") == 2)         image.setImageResource(R.drawable.folder);       else if (Integer.parseInt(fileList.get(position).get("isDirectory")           + "") == 1)         image.setImageResource(R.drawable.documents);       TextView textView = (TextView) view           .findViewById(R.id.file_list_item_testview);       textView.setTextColor(Color.BLACK);       textView.setText(fileList.get(position).get("fileName") + "");       return view;      }      } 

最后我們需要實現(xiàn)這些

dir = Environment.getExternalStorageDirectory()         .getAbsolutePath() + "/";     fileListView = (ListView) findViewById(R.id.file_listview);     listItemClickListener = new FileListItemClickListener(); //   //設(shè)置點擊事件     fileListView.setOnItemClickListener(listItemClickListener);     fileList = FileUtils.GetPathFilsList(dir);     if (new File(dir).getParent() != null) {       Map<String, Object> map = new HashMap<String, Object>();       map.put("isDirectory", 0);       map.put("fileName", new File(dir).getParent());       fileList.add(0, map);      }     FileBrowserAdapter phoneFileBrowserAdapter = new FileBrowserAdapter(         getApplicationContext(), fileList);     fileListView.setAdapter(phoneFileBrowserAdapter); 

效果圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 灯塔市| 河东区| 宽城| 潮安县| 含山县| 阿拉善左旗| 宣恩县| 玉山县| 西林县| 中阳县| 黄大仙区| 六枝特区| 平度市| 密山市| 鄂温| 泰和县| 温泉县| 南丹县| 承德市| 历史| 浮梁县| 阿拉善右旗| 定兴县| 四平市| 大连市| 保德县| 富平县| 肇庆市| 阳西县| 岳普湖县| 苏尼特右旗| 台中市| 扬中市| 双鸭山市| 陈巴尔虎旗| 灵石县| 固原市| 安新县| 镇坪县| 图片| 石泉县|