Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ImageView设置ImageResource不工作_Android_Android Imagebutton - Fatal编程技术网

Android ImageView设置ImageResource不工作

Android ImageView设置ImageResource不工作,android,android-imagebutton,Android,Android Imagebutton,我有一个从RelativeLayout继承的自定义类。我有一个名为control\u btn的ImageButton,它是在init()方法中定义并添加到布局中的。在onDraw上,我有以下代码(除其他外): 但是,尽管获得了日志条目,图像始终不会更改。 此外,我还有另一个ImageButton,其代码与图像发生更改的代码完全相同(也在自定义类中) 有没有办法解决这个问题?把setImageResource放进init()方法,问题就会解决。试着把setImageResource放进init()

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

但是,尽管获得了日志条目,图像始终不会更改。 此外,我还有另一个
ImageButton
,其代码与图像发生更改的代码完全相同(也在自定义类中)


有没有办法解决这个问题?

setImageResource
放进
init()
方法,问题就会解决。

试着把setImageResource放进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");
        }
    });