• Android入门之文件系统操作(一)简单的文件浏览器 (转)


    Android入门之文件系统操作(一)简单的文件浏览器 (转)

          

     
       import java.io.File; 
       import java.util.*; 
        
        import android.app.Activity; 
       import android.content.Context; 
       import android.os.*; 
       import android.view.*; 
       import android.widget.*; 
       import android.widget.AdapterView.OnItemClickListener; 
      import android.widget.ImageView.ScaleType; 
      
      public class FileBrowser extends Activity { 
      
      private ListView mainListView=null; 
       private List<Map<String,Object>> list=null; 
      
       public void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
      this.setTitle("文件浏览器"); 
       mainListView=new ListView(this); 
      setContentView(mainListView); 
      
       File file=Environment.getRootDirectory(); 
       String pathx=file.getAbsolutePath(); 
      this.setTitle(pathx); 
       //android的总目录就是"/" 
      list_init("/"); 
      } 
      
       void list_init(String path){ 
       File file=new File(path); 
       File[] fileList=file.listFiles(); 
     list=new ArrayList<Map<String,Object>>(); 
     Map<String,Object> item; 
      item=new HashMap<String,Object>(); 
       if(path.equals("/")){ 
      item.put("ico",R.drawable.home); 
       item.put("name","总目录列表"); 
      item.put("path","/"); 
     list.add(item); 
      }else{ 
       item.put("ico",R.drawable.back); 
       item.put("name","返回上一级"); 
       item.put("path",file.getParent()); 
      list.add(item); 
      } 
      for(int i=0;i<fileList.length;i++){ 
      item=new HashMap<String,Object>(); 
      if(fileList[i].isDirectory()){ 
      if(fileList[i].list().length<1){ 
       item.put("ico",R.drawable.file1); 
      }else{ 
      item.put("ico",R.drawable.file2); 
      } 
      }else{ 
       item.put("ico",R.drawable.content); 
       } 
       item.put("name",fileList[i].getName()); 
       item.put("path",fileList[i].getAbsolutePath()); 
      list.add(item); 
      } 
      MyAdapter ma=new MyAdapter(this,list); 
      //mainListView=new ListView(this); 
       mainListView.setAdapter(ma); 
       mainListView.setOnItemClickListener(new OnItemClickListener(){ 
       public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) { 
      if(arg2>0 && (Integer)(list.get(arg2).get("ico"))==R.drawable.content){ 
      //非文件夹图标,点击无效 
       }else{ 
      //打开下一级文件目录列表 
      list_init((String)(list.get(arg2).get("path"))); 
       } 
      } 
     }); 
    this.setTitle(path); 
      } 
    
      public class MyAdapter extends BaseAdapter{ 
    
      Context context=null; 
     List<Map<String,Object>> list=null; 
    
      MyAdapter(Context context,List<Map<String,Object>> list){ 
       this.context=context; 
       this.list=list; 
      } 
     public int getCount() {return list.size();} 
       public Object getItem(int position) {return position;} 
     public long getItemId(int position) {return position;} 
     
       public View getView(int position, View convertView, ViewGroup parent) { 
       LinearLayout returnView=new LinearLayout(context); 
     returnView.setLayoutParams(new ListView.LayoutParams(-1,-2));//注意:ListView.LayoutParams 
      //图标 
       ImageView iv=new ImageView(context); 
     LinearLayout.LayoutParams lp_iv=new LinearLayout.LayoutParams(-2,-2); 
      lp_iv.rightMargin=10; 
      iv.setLayoutParams(lp_iv); 
       iv.setScaleType(ScaleType.CENTER_INSIDE); 
     iv.setImageResource((Integer)((list.get(position)).get("ico"))); 
      returnView.addView(iv); 
     //文件名 
     TextView name=new TextView(context); 
     LinearLayout.LayoutParams lp_tv=new LinearLayout.LayoutParams(-2,-2); 
    name.setLayoutParams(lp_tv); 
     name.setTextSize(name.getTextSize()+10); 
     name.setText((String)(list.get(position).get("name"))); 
      returnView.addView(name); 
    // 
     return returnView; 
      } 
    
     } 
      }
     
    

      

  • 相关阅读:
    3.2.5 复制节点:
    1.创建元素节点:
    有多少漏洞都会重来:从ElasticSearch到MongoDB和Redis
    登陆密码显示与不显示的切换
    计算机网络基础 — Linux 路由器
    作为白手起家的企业家,必经阶段你经历了几个?
    竞争越来越大,创业公司怎么才能走的越来越远?
    城市竞争太大?这有农村创业七大项目,让你远离竞争
    短视频的改革带来的风暴,网红又该何去何从?
    照着官方文档学习react
  • 原文地址:https://www.cnblogs.com/geniusxjq/p/4081522.html
Copyright © 2020-2023  润新知