练习



package com.cuizheng.read;
/*
 * author Cuizheng
 */
import java.io.File;
import java.util.ArrayList;
import java.util.List;


import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class FileList extends AppCompatActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.local);
        findvied();
        getFilesDir(rootPath);
        onclicks();
      
    }
    private String rootPath="/storage/sdcard0";
    private ListView listV;
    private List<String> items=null;
    private List<String> paths=null;
    private TextView text;
 private void findvied() {
  // TODO Auto-generated method stub
  listV=(ListView) findViewById(R.id.listV);
  text=(TextView) findViewById(R.id.text);
  
  
 }
   
   
    //文件遍历并显示
    public void getFilesDir(String filePath) {
  // TODO Auto-generated method stub
  items=new ArrayList<String>();
  paths=new ArrayList<String>();
  text.setText("当前路径"+filePath);
  File file=new File(filePath);
  File [] listFile=file.listFiles();
  String upPath=file.getParent();
  if(!filePath.equals(rootPath)){
   
   items.add("up");
   paths.add(upPath);
  }
  for(File f:listFile){
   if(!f.getName().equals(".android_secure")){
     items.add(f.getName());
     paths.add(f.getPath()); 
   }
   
  }
  
  listV.setAdapter(new MyAdapter(FileList.this, items, paths));
    }
    private void onclicks() {
  //单击事件
  // TODO Auto-generated method stub
  listV.setOnItemClickListener(new OnItemClickListener() {

   public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
     long arg3) {
    // TODO Auto-generated method stub
    File file=new File(paths.get(arg2));
    if(file.isDirectory()){
     //进入文件夹
     
     getFilesDir(paths.get(arg2));
    }else{
     //打开文件
     openFile(file);
    }
   }
   });
  
  
    }
//打开文件操作 
 protected void openFile(File file) {
 
 
    }
 public class MyAdapter extends BaseAdapter {

  private LayoutInflater inflater;
  private List<String> items=null;
  private List<String> paths=null;
  private Bitmap back;
  private Bitmap fold;
  private Bitmap doc;
   public MyAdapter(Context context,List<String> it,List<String> pa ) {
   // TODO Auto-generated constructor stub
    inflater=LayoutInflater.from(context);
    items=it;
    paths=pa;
    back=BitmapFactory.decodeResource(context.getResources(), R.drawable.back);
    fold=BitmapFactory.decodeResource(context.getResources(), R.drawable.folder);
    doc=BitmapFactory.decodeResource(context.getResources(),R.drawable.default_fileicon);
  }
  public int getCount() {
   // TODO Auto-generated method stub
   return items.size();
  }

  public Object getItem(int position) {
   // TODO Auto-generated method stub
   return items.get(position);
  }

  public long getItemId(int position) {
   // TODO Auto-generated method stub
   return position;
  }

  public View getView(int position, View convertView, ViewGroup parent) {
   // TODO Auto-generated method stub
   ViewHolder holder;
   if(convertView==null){
    convertView=inflater.inflate(R.layout.listview, null);
    holder=new ViewHolder();
    holder.text=(TextView) convertView.findViewById(R.id.text);
    holder.img=(ImageView) convertView.findViewById(R.id.img);
    convertView.setTag(holder);
   }
   else{
    holder=(ViewHolder) convertView.getTag();
   }
   File file=new File(paths.get(position).toString());
   if(items.get(position).equals("up")){
    holder.text.setText("上一级");
    holder.img.setImageBitmap(back);
   }else{
    holder.text.setText(items.get(position));
    if(file.isDirectory()){
     holder.img.setImageBitmap(fold);
    }else{
     holder.img.setImageBitmap(doc);
    }
   }
   return convertView;
  }
  
 }
 public class ViewHolder {
  TextView text;
  ImageView img;
 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值