Android ListView使用方法

package cn.jinbi.app;

import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

public class HistroyActivity extends Activity{
	private EditText search;
	private Button chick;
	private ListView listView;
	private ArrayList<HashMap<String,Object>> list;
	private final String pathname = "../data/data/cn.jinbi.app/files";
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_histroy);
		startInit();
		showList(pathname);
		chick.setOnClickListener(new chickOnClickListener());
		listView.setOnItemClickListener(new ItemClickListener());
		listView.setOnItemLongClickListener(new ItemLongClickListener());
	}
	
	private void startInit(){
		search = (EditText)findViewById(R.id.filename);
		chick = (Button)findViewById(R.id.search);
		listView = (ListView)findViewById(R.id.listhistroy);
	}
 

	private final void showList(String passname){
		list = new ArrayList<HashMap<String,Object>>();
		HashMap<String,Object> map ;
		
		File file = new File(passname);
		File[] childFiles = file.listFiles();
		if (childFiles == null)  
				return ;
		
		for(File files:childFiles){
			 map = new HashMap<String,Object>();
			 /*文件的名字*/
			 map.put("name", files.getName());
			 /*文件创建的时间*/
			 Date date = new Date(files.lastModified());
			 String time = (date.getMonth()+1)+"/"+date.getDate();
			 map.put("time", time); 
			 list.add(map);
		}
		
		SimpleAdapter simpleAdapter = new SimpleAdapter(this, 
				list, R.layout.list_histroy, new String[]{"time","name"}, new int[]{R.id.time,R.id.name});	
		listView.setAdapter(simpleAdapter);
	}
	
	public class ItemClickListener implements OnItemClickListener{

		@Override
		public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
				long arg3) {
			
			TextView text = (TextView)arg1.findViewById(R.id.name);
			Bundle data = new Bundle();
			data.putString("name", text.getText().toString());
			Intent intent = new Intent();
			intent.putExtras(data);
			intent.setClass(HistroyActivity.this, ResultActivity.class);
			startActivity(intent);
		}
	}
	
	
	private class chickOnClickListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			list.clear();
			HashMap<String, Object>map;
			String textName = search.getText().toString();
			File file = new File(pathname);
			File[] childFiles = file.listFiles();
			if (childFiles == null)
					return ;
			
			for(File files:childFiles){
				if(files.getName().contains(textName)){
					map = new HashMap<String,Object>();
					String filename = files.getName().toString();
					map.put("name", filename);
					Date date = new Date(files.lastModified());
					String time = date.getMonth()+"/"+date.getDate();
					map.put("time", time); 
					list.add(map);
				}
			}
			SimpleAdapter adapter= (SimpleAdapter)listView.getAdapter();
			adapter.notifyDataSetChanged();
		}
	}
	
	private class ItemLongClickListener implements OnItemLongClickListener{
		@Override
		public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
				int arg2, long arg3) {
			TextView text = (TextView)arg1.findViewById(R.id.name);
			String name = text.getText().toString();
			HashMap<String, Object>map;
			
			list.clear();
			File file = new File(pathname);
			File[] childFiles = file.listFiles();
			if (childFiles == null)
				return false;
			
			for (File files:childFiles){
				if (files.getName().equals(name))
				{
					files.delete();
				}
				else{
					map = new HashMap<String, Object>();
					map.put("name", files.getName());
					Date date =new Date(files.lastModified());
					String time = date.getMonth()+"/"+date.getDay();
					map.put("time", time);
					list.add(map);
				}
			}
			SimpleAdapter adapter = (SimpleAdapter)listView.getAdapter();
			adapter.notifyDataSetChanged();
			return true;
		}
		
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值