我的ExpandListView,每个组有一个子项,每个子项有1个按钮。我现在需要点击按钮修改按钮自己的文本。因为我使用了ViewHolder,现在导致我随便点击一个按钮,所有的按钮文本都跟着变。求想法。我的点击事件是写在getChildView里面的。public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
// TODOAuto-generated method stub
if (convertView == null) {
holdler = new DowningCHoldler();
convertView = LayoutInflater.from(CityDownloadActivity.this)
.inflate(R.layout.city_downloading_item_child, null);
holdler.pauseMapbtn = (Button) convertView
.findViewById(R.id.city_downloading_btn_console);
convertView.setTag(holdler);
} else {
holdler = (DowningCHoldler) convertView.getTag();
}
setOnClickListener(groupPosition, childPosition, convertView,btn);
return convertView;
}[code=java]
private void setOnClickListener(final int groupPosition,
final int childPosition, final View convertView,final Button btn) {
// TODO Auto-generated method stub
holdler.pauseMapbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (holdler.pauseMapbtn.getText.equals("暂停下载")) {
}
holdler.pauseMapbtn.setText("继续下载");
} else if (holdler.pauseMapbtn.equals("继续下载")) {
holdler.pauseMapbtn.setText("暂停下载");
}
updateView();
}
});
/code]
boolean isLastChild, View convertView, ViewGroup parent) {
// TODOAuto-generated method stub
if (convertView == null) {
holdler = new DowningCHoldler();
convertView = LayoutInflater.from(CityDownloadActivity.this)
.inflate(R.layout.city_downloading_item_child, null);
holdler.pauseMapbtn = (Button) convertView
.findViewById(R.id.city_downloading_btn_console);
convertView.setTag(holdler);
} else {
holdler = (DowningCHoldler) convertView.getTag();
}
setOnClickListener(groupPosition, childPosition, convertView,btn);
return convertView;
}[code=java]
private void setOnClickListener(final int groupPosition,
final int childPosition, final View convertView,final Button btn) {
// TODO Auto-generated method stub
holdler.pauseMapbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (holdler.pauseMapbtn.getText.equals("暂停下载")) {
}
holdler.pauseMapbtn.setText("继续下载");
} else if (holdler.pauseMapbtn.equals("继续下载")) {
holdler.pauseMapbtn.setText("暂停下载");
}
updateView();
}
});
/code]
解决方案 »
- 代码中如何查询当前应用bitmap所消耗的内存?
- android两个view之间事件如何传递(输入法)
- 不同包之间数据传递的问题
- 修改APK后签名没办法签
- 布局问题,RadioGroup in RelativeLayout
- 水平滚动
- 请问:使用r12 sdk运行模拟器报错如何解决?qemu: linux kernel too old to load a ram disk
- 游戏地图如何实现不停的向上或向下移动
- 关于android与LINUX的关系
- 求助,HttpResponse response = http.execute(post);报错了,不会搞
- intent打开“geo”格式的东西出错
- 监听网络状态,断网时报错:无法实例化该对象
public class Click implements OnClickListener {
int groupid = 0; public Click(int childPosition) {
groupid = childPosition;
} @Override
public void onClick(View v) {
// Intent intent = new Intent(context,
// LiaoYiLiaoPostDetailsActivity.class);
// context.startActivity(intent);
} }我这样直接就可以了啊