打杂家的 2013-11-29 06:54 采纳率: 0%
浏览 15475

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));

            }
        }); 
  • 写回答

3条回答

  • 109905418 博客专家认证 2013-11-30 04:02
    关注

    要从列表的数据的变动着手,当点击按钮,背景图片发生变化时,把这一条目存储在一个Map对象,缓存起来,并且adapter要 notifyDataSetChanged(); 这样就记录下了已点击的按钮。

    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 专家已采纳回答 3月24日

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?