查看SD卡

来源:互联网 发布:linux dhcp安装包 编辑:程序博客网 时间:2024/05/17 21:47
package com.example.wenjianjia;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import com.example.wenjianjia.adapter.Adapter;
import com.example.wenjianjia.bean.Files;
public class MainActivity extends Activity implements OnClickListener {
 private ListView lv;
 private List<Files> lf;
 private List<File> lf2;
 private List<File> lf3;
 private int indext = 0;
 private Adapter adapter;
 private Button bu1, bu2, bu3, bu4, bu5, bu6, bu7, bu8, bu9, bu10, bu11;
 private Button[] button;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  lv = (ListView) findViewById(R.id.listView1);
  btn();
  lf = new ArrayList<Files>();
  lf2 = new ArrayList<File>();
  lf3 = new ArrayList<File>();
  adapter = new Adapter(lf, lf2, this);
  lv.setAdapter(adapter);
  lv.setOnItemClickListener(listener);
 }
 public void btn() {
  bu1 = (Button) findViewById(R.id.button11);
  bu2 = (Button) findViewById(R.id.button12);
  bu3 = (Button) findViewById(R.id.button13);
  bu4 = (Button) findViewById(R.id.button14);
  bu5 = (Button) findViewById(R.id.button15);
  bu6 = (Button) findViewById(R.id.button16);
  bu7 = (Button) findViewById(R.id.button17);
  bu8 = (Button) findViewById(R.id.button18);
  bu9 = (Button) findViewById(R.id.button19);
  bu10 = (Button) findViewById(R.id.button20);
  bu11 = (Button) findViewById(R.id.button21);
  button = new Button[] { bu1, bu2, bu3, bu4, bu5, bu6, bu7, bu8, bu9,
    bu10, bu11 };
  button[0].setOnClickListener(this);
  button[1].setOnClickListener(this);
  button[2].setOnClickListener(this);
  button[3].setOnClickListener(this);
  button[4].setOnClickListener(this);
  button[5].setOnClickListener(this);
  button[6].setOnClickListener(this);
  button[7].setOnClickListener(this);
  button[8].setOnClickListener(this);
  button[9].setOnClickListener(this);
  button[10].setOnClickListener(this);
 }
 OnItemClickListener listener = new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    long arg3) {
   // TODO Auto-generated method stub
   File ff = lf2.get(arg2);
   if (ff.isDirectory()) {
    indext++;
    button[indext % button.length].setText(ff.getName());
    button[indext % button.length].setVisibility(View.VISIBLE);
    lf3.add(ff);
    saomiao(ff);
   }
  }
 };
 public void cha(View v) {
  // 获取根目录
  File file = Environment.getExternalStorageDirectory();
  // 为返回添加根目录路劲
  lf3.add(file);
  // 给根目录的button付名称
  button[0].setText(file.getName());
  saomiao(file);
 }
 public void saomiao(File file) {
  if (lf.size() > 0)
   lf.clear();
  if (lf2.size() > 0)
   lf2.clear();
  File[] file1 = file.listFiles();
  if (file1 != null) {
   for (File file2 : file1) {
    lf.add(new Files(file2.getName(), file2.getPath()));
    lf2.add(file2);
   }
  }
  adapter.notifyDataSetChanged();
 }
 //返回按钮
 public void fanhui(View v) {
  if (lf3.size() != 1) {
   lf3.remove(lf3.size() - 1);
   File fff = lf3.get(lf3.size() - 1);
   //点击返回时吧相应的显示路劲撤销
   button[indext % button.length].setVisibility(View.GONE);
   indext--;
   saomiao(fff);
  }
 }
 @Override
 public void onClick(View v) {
  // TODO Auto-generated method stub
  Button bbuu = (Button) findViewById(v.getId());
  for (int i = 0; i < lf3.size(); i++) {
   // 判断当前点击的路劲按钮是哪一个
   if (lf3.get(i).getName().equals(bbuu.getText().toString().trim())) {
    // 取出当前按钮+1以后的所有按钮
    int a = i + 1;
    for (int y = a; y < lf3.size(); y++) {
     // 隐藏i+1以后的所有按钮
     button[y].setVisibility(View.GONE);
    }
    saomiao(lf3.get(i));
   }
  }
 }
}
0 0