ImageView setImageResource 不工作

ImageView setImageResource not working

我有一个继承自 RelativeLayout 的自定义 class。我有一个名为 control_btnImageButton,它是在 init() 方法中定义并添加到布局中的。在 onDraw 上,我有以下代码(除其他外):

    control_btn.setImageResource(R.drawable.play_new);
    control_btn.getLayoutParams().width = getPixels(20);
    control_btn.getLayoutParams().height = getPixels(20);
    control_btn.setX(getPixels(0));
    control_btn.setY(getPixels(10));
    control_btn.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
    control_btn.setAdjustViewBounds(true);
    control_btn.setPadding(0, 0, 0, 0);
    control_btn.setBackgroundColor(Color.TRANSPARENT);
    control_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            control_btn.setImageResource(R.drawable.pause);
            Log.d("WTH", "clicked");
        }
    });

然而,尽管获得了日志条目,图像却从未改变。 此外,我还有另一个 ImageButton 具有完全相同的代码,其图像确实发生了变化(也在自定义 class 内)。

关于如何解决这个问题有什么想法吗?

setImageResource放入init()方法,问题就解决了。