2

我是 andorid 的新手,我正在尝试做一件简单的事情:单击按钮 A 时,我想替换 ImageButton B 上显示的图像。

我已经尝试过各种各样的事情,比如:

msortByButton.setOnClickListener(new OnClickListener() {            
            @Override
            public void onClick(View v) {                   
                //Test change image         
                mdefineLocationButton.setBackgroundResource(0);
                mdefineLocationButton.invalidate();
                mdefineLocationButton.setBackgroundResource(R.drawable.notdefined);
                mdefineLocationButton.invalidate();             
                mdefineLocationButton.refreshDrawableState();
            }
        });

但是似乎画了新图像,但在它上面还画了旧图像。(我可以看到旧图像,在它下面我可以看到新图像的边缘)。

知道如何正确执行此操作吗?

谢谢, 奥马尔

4

1 回答 1

3

利用setImageResource (int resId)

( http://developer.android.com/reference/android/widget/ImageView.html#setImageResource(int) )

ImageButtons 可以有一个背景和一个实际的图像 src。我的猜测是您最初设置图像 src,现在在代码中设置背景。所以两者都显示。

@Override
public void onClick(View v) {                   
    mdefineLocationButton.setImageResource(R.drawable.notdefined);
}
于 2013-06-11T09:29:10.607 回答