提问 问题标签用户 android开发中,想实现点击ImageButton切换它的图片。
开发时使用adapter把数据更新到listview。每一个Item都有一个按钮,onClicka时, v.findViewById(R.id.button).setBackgroundDrawable( getResources().getDrawable(R.drawable.picB)); 。关于切换图片遇到几个问题,望各位大神指点一二。
1.布置XML时,设置android:src="@drawable/picA",这种做法点击没有进行图片切换。
2.布置XML时,不设定背景图片,设置adapter时,holder.botton.setBackgroundDrawable(getResources().getDrawable(R.drawable.picA));这种做法,点击图片切换了。但当讲手机画面往下拉直至这个这个切换的按钮看不见,再出现时,图片有变回了原来的图片。
3.布置XML时,不设定背景图片,设置adapter时,((ImageButton)v).setImageDrawable(getResources().getDrawable(R.drawable.picA));
这种做法,点击图片切换了。但当讲手机画面往下拉直至这个这个切换的按钮看不见,再出现时,变了图片的按钮不是我点击的那个按钮,数目也不对。按钮监听如下:
holder.copyBotton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.findViewById(R.id.copybutton)
.setBackgroundColor(00000000);
v.findViewById(R.id.copybutton).setBackgroundDrawable(
getResources().getDrawable(R.drawable.redheart));
}
});
getView中样例代码:
ViewHolder holder;
if(arg1==null){
holder = new ViewHolder();
arg1 = layoutinflater.inflate(R.layout.list_item_1, null);
holder.name = (TextView) arg1.findViewById(R.id.video_name1);
holder.icon = (ImageView) arg1.findViewById(R.id.video_image);
arg1.setTag(holder);
}else {
holder = (ViewHolder) arg1.getTag();
}
//ViewHolder
private class ViewHolder {
TextView name;
ImageView icon;
}
补充:移动开发 , Android