主要java文件代码
package com.caxa.yun;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.caxa.gongfang.GF_XX;
import com.caxa.gongfang.GongF;
import com.caxa.linkman.Linkman;
import com.caxa.yun.R;
import android.os.Bundle;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class News extends Activity {
//private ListView lv;
private Button bnnews,bnsearch,bnuse,bnmy,bnlinkman;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
setContentView(R.layout.news);
//关联Layout中的ListView
ListView vncListView=(ListView)this.findViewById(R.id.listView);
//生成动态数组,加入数据
ArrayList<HashMap<String,Object>> remoteWindowItem=new ArrayList<HashMap<String,Object>>();
for(int i=0;i<10;i++){
HashMap<String,Object> map=new HashMap<String,Object>();
map.put("img", R.drawable.qiche);
map.put("title", "电动汽车");
map.put("info", "2013-10-22");
remoteWindowItem.add(map);
}
//生成适配器Item和动态数组对应元素
lvButtonAdapter listItemAdapter=new lvButtonAdapter(this,remoteWindowItem,R.layout.listview,
new String[]{"img","title","info"},new int[]{R.id.img,R.id.title,R.id.info});
vncListView.setAdapter(listItemAdapter);
}
public class lvButtonAdapter extends BaseAdapter{
public class buttonViewHolder{
ImageView img;
TextView title;
TextView info;
}
private ArrayList<HashMap<String,Object>> mAppList;
private LayoutInflater mInflater;
private Context mContext;
private String []keyString;
private int []valueViewID;
private buttonViewHolder holder;
public lvButtonAdapter(Context c,ArrayList<HashMap<String,Object>> appList,int resource,
String []from,int []to){
mAppList=appList;
mContext=c;
mInflater=(LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
keyString=new String[from.length];
valueViewID=new int[to.length];
System.arraycopy(from, 0, keyString, 0, from.length);
System.arraycopy(to, 0, valueViewID, 0, to.length);
}
@Override
public int getCount(){
return mAppList.size();
}
@Override
public Object getItem(int position){
return mAppList.get(position);
}
@Override
public long getItemId(int position){
return position;
}
public void removeItem(int position){
mAppList.remove(position);
this.notifyDataSetInvalidated();
}
@Override
public View getView(int position,View convertView,ViewGroup parent){
if(convertView!=null){
holder=(buttonViewHolder)convertView.getTag();
}else{
convertView=mInflater.inflate(R.layout.listview, null);
holder=new buttonViewHolder();
holder.img=(ImageView)convertView.findViewById(valueViewID[0]);
holder.title=(TextView)convertView.findViewById(valueViewID[1]);
holder.info=(TextView)convertView.findViewById(valueViewID[2]);
convertView.setTag(holder);
}
HashMap<String,Object> appinfo=mAppList.get(position);
if(appinfo!=null){
int imga=(Integer)appinfo.get(keyString[0]);
String titlea=(String)appinfo.get(keyString[1]);
String infoa=(String)appinfo.get(keyString[2]);
holder.img.setImageDrawable(holder.img.getResources().getDrawable(imga));
holder.img.setOnClickListener(new lvButtonListener(position));
holder.title.setText(titlea);
holder.info.setText(infoa);
}
holder.img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
Intent intent = new Intent(News.this,GF_XX.class);
startActivity(intent);
}
});
holder.title.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
// TODO Auto-generated method stub
Intent intent = new Intent(News.this,GongF.class);
startActivity(intent);
}
});
return convertView;
}
class lvButtonListener implements OnClickListener{
private int position;
lvButtonListener(int pos){
position=pos;
}
public void onClick(View v){
int vid=v.getId();
if(vid==holder.img.getId())
removeItem(position);
}
}
}
}