Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.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
Java 更改img资源的问题_Java_Android - Fatal编程技术网

Java 更改img资源的问题

Java 更改img资源的问题,java,android,Java,Android,当按下并释放imagea按钮时,尝试更改其源/资源时,我遇到了此问题 Btn.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { /*if(event.getAction() == MotionEvent.ACTION_DOWN) {

当按下并释放imagea按钮时,尝试更改其源/资源时,我遇到了此问题

        Btn.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            /*if(event.getAction() == MotionEvent.ACTION_DOWN) {
                ImageBtn.setImageResource(R.drawable.btn1);
            } else if (event.getAction() == MotionEvent.ACTION_UP) {
                ImageBtn.setImageResource(R.drawable.btn0);
            }*/

            switch(event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    ImageBtn.setBackgroundResource(R.drawable.btn1);
                    return true; // if you want to handle the touch event
                case MotionEvent.ACTION_UP:
                    ImageBtn.setBackgroundResource(R.drawable.btn1);
                    return true; // if you want to handle the touch event
            }
            return false;
        }
    });

这是代码,我也尝试了注释中的内容,但没有结果。我必须提到的是,按钮只是在触摸时改变了它的资源,但释放后,它并没有改变


按钮侦听器位于相对布局上,因此在xml代码中定义为相对布局,而在java中定义为按钮

按钮的图像不会从您触摸按钮时更改为松开按钮时,因为您正在设置相同的背景资源

这两个案例都包含:

ImageBtn.setBackgroundResourceR.drawable.btn1


将其中一个设置为不同的图像。

按钮仅在触摸它时更改其资源,但释放后,它不会更改-您的操作启动代码只会重新设置操作启动代码设置的相同资源,因此您似乎不应该期望看到任何更改。如果你想让它在发布时显示一些不同的东西,你必须提供一个不同的资源作为你的论据。。。我真丢脸。我已经研究这个问题15分钟了,但没有注意到这一点。无论如何,谢谢你的回答。现在它起作用了:D.没问题。我也经常犯这样的小错误,花上几个小时试图弄清楚可能是什么:D