ExpandableListView 我在某个child里面有几个按钮,按钮设置了点击事件,点击改变选中状态,替换按钮的背景图片。我把Group关闭再打开或者向上拉到这个child最后边缘,child里面被选中的按钮会恢复原来的样子。那个child里的view被刷新了好像,按钮不能保持点击后改变背景的样子,这个问题怎么解决?
BaseExpandableListAdapter里获取child的代码如下:
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater =LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.child_jing_cai_shengpingfu_exlist_saishi_child, null);
final Button tipBtn = (Button) convertView.findViewById(R.id.btn_jc_tip);
final Button shengBtn = (Button) convertView.findViewById(R.id.btn_jc_sheng);
final Button pingBtn = (Button) convertView.findViewById(R.id.btn_jc_ping);
final Button fuBtn = (Button) convertView.findViewById(R.id.btn_jc_fu);
shengBtn.setText("胜sp"+child.get(groupPosition).get(childPosition).getShengSP());
pingBtn.setText("平sp"+child.get(groupPosition).get(childPosition).getPingSP());
fuBtn.setText("负sp"+child.get(groupPosition).get(childPosition).getFuSP());
shengBtn.setOnClickListener(new OnClickListener() {
boolean isclick = false ;
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!isclick){
shengBtn.setBackgroundResource(R.drawable.btn_jc_sp_0);
shengBtn.setTextColor(Color.WHITE);
isclick = true;
}else{
shengBtn.setBackgroundResource(R.drawable.btn_jc_sp);
shengBtn.setTextColor(Color.BLACK);
isclick = false;
}
}
});
return convertView;
}
BaseExpandableListAdapter里获取child的代码如下:
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater =LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.child_jing_cai_shengpingfu_exlist_saishi_child, null);
final Button tipBtn = (Button) convertView.findViewById(R.id.btn_jc_tip);
final Button shengBtn = (Button) convertView.findViewById(R.id.btn_jc_sheng);
final Button pingBtn = (Button) convertView.findViewById(R.id.btn_jc_ping);
final Button fuBtn = (Button) convertView.findViewById(R.id.btn_jc_fu);
shengBtn.setText("胜sp"+child.get(groupPosition).get(childPosition).getShengSP());
pingBtn.setText("平sp"+child.get(groupPosition).get(childPosition).getPingSP());
fuBtn.setText("负sp"+child.get(groupPosition).get(childPosition).getFuSP());
shengBtn.setOnClickListener(new OnClickListener() {
boolean isclick = false ;
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!isclick){
shengBtn.setBackgroundResource(R.drawable.btn_jc_sp_0);
shengBtn.setTextColor(Color.WHITE);
isclick = true;
}else{
shengBtn.setBackgroundResource(R.drawable.btn_jc_sp);
shengBtn.setTextColor(Color.BLACK);
isclick = false;
}
}
});
return convertView;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货