FilelistView

计算机113 欧丹

1、首先在eclipse3.7创建项目

2、在中点击鼠标右键选择other

进行下一步操作

点击Browse出现以下弹框并在Choose a type中输入BaseAdapter查找到这个类点击添加

3、然后是界面的设计,首先在中的进行xml的添加例如下图

选项中要选择布局方式

点开main.xml进行页面布局设计

其中包含一个button控件,一个textview控件,一个listview空降,一个布局控件。

然后在item.xml进行页面布局

其中包含两对他们的个textview控件,一个Image图片控件(图片的自己拖到res中的dirawable-hdpi文件夹中)

对他们控件ID进行更改(更改ID后要保存) 

adapter的后台代码编写:

public class FileListAdapter extends BaseAdapter {

 public Activity activity; //创建View时必须要提供Context
 public List<File> list=new LinkedList<File>(); //数据源
 public String currPath;
 
 public FileListAdapter(Activity activity) {
  this.activity = activity;
 }

 public void scanFiles(String path)
 {
  list.clear();
  File dir=new File(path);
  File[] subFiles=dir.listFiles();
  if(subFiles!=null)
   for(File f:subFiles)
    list.add(f);
  this.notifyDataSetChanged();
  currPath=path;
 }
 
 @Override
 public int getCount() {
  // TODO Auto-generated method stub
  return list.size();
 }

 @Override
 public Object getItem(int position) {
  // TODO Auto-generated method stub
  return null;
 }

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

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  // TODO Auto-generated method stub
  
  View v=View.inflate(activity, R.layout.item, null);
  TextView txtName= (TextView) v.findViewById(R.id.txtName);
  ImageView imgIcon=(ImageView) v.findViewById(R.id.imgIcon);
  File f=list.get(position);
  txtName.setText(f.getName());
  Bitmap bmp_folder=BitmapFactory.decodeResource(
    activity.getResources(),R.drawable.folder);
  Bitmap bmp_file=BitmapFactory.decodeResource(
    activity.getResources(),R.drawable.file);
  if(f.isDirectory())
   imgIcon.setImageBitmap(bmp_folder);
  else
   imgIcon.setImageBitmap(bmp_file);
  return v;
 }

}

4、Activity中编写代码:

posted on 2013-06-24 18:58  android-1  阅读(265)  评论(0)    收藏  举报