ListView与Button的共存问题解决

主要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);
}


}
}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值