我的listview中加了button,listview采用的SimpleAdapter来填充数据,现在的问题是:在第一次加载数据时只有第一条记录和下一页的button能够响应事件。其他记录的button点击都没有反应。我的代码如下:
重写getView方法
View v;
if (null == convertView){
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.listview, parent, false);
} else{
v = convertView;
}
bt = (Button)v.findViewById(R.id.listOrder1);
if(bt != null){
bt.setOnClickListener(new OnClickListener(){ public void onClick(View v) {
// TODO Auto-generated method stub
Log.e("xp", "----------------------");
}
});
}我想通过 view.setTag(viewHolder)的方式实现,结果报错,后来发现simpleAdapter源码里已经用到了view.setTag(viewHolder),所以我的view.setTag(viewHolder)会有冲突。
我还有其他办法吗?
重写getView方法
View v;
if (null == convertView){
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.listview, parent, false);
} else{
v = convertView;
}
bt = (Button)v.findViewById(R.id.listOrder1);
if(bt != null){
bt.setOnClickListener(new OnClickListener(){ public void onClick(View v) {
// TODO Auto-generated method stub
Log.e("xp", "----------------------");
}
});
}我想通过 view.setTag(viewHolder)的方式实现,结果报错,后来发现simpleAdapter源码里已经用到了view.setTag(viewHolder),所以我的view.setTag(viewHolder)会有冲突。
我还有其他办法吗?
解决方案 »
- android.bat 文件
- android4.0 开机启动后,显示的墙纸(称它为墙纸A)是存在什么地方呢?
- 再再议监听器原理的绑定与实现(回调函数)
- 关于android开发列表添加信息的问题
- 求教,如何打包.apk?
- Launcher修改以后编译错误,马上改回来还是编译错误
- 请教关于动态生成RadioButton的问题
- 关于android 自启动程序问题
- 我在项目中遇到问题了
- Activity之间数据交换跳转不了系统不报错 求大神帮助
- 怎么使用gtalk的视频会议?
- emulator: ERROR: no search paths found in this AVD's configuration.
if(null == convertView){
......
contertView.setTag(holder)
}else{
holder=(ViewHolder)convertView.getTag();
}
这样是否就解决了你的问题了呢。
if(null == convertView){
......
contertView.setTag(holder)
}else{
holder=(ViewHolder)convertView.getTag();
}这样我试了,在普通的SimpleAdapter下可以,但我的adapter重写了bindView方法。结果用ViewHolder报错。