Android imagebutton 每次点击都会改变

标签 android android-button

<分区>

我希望我的图片按钮在每次单击时从一张图片变为另一张图片。在我的代码中,这只有效一次,图像发生变化,按钮不会变回 onClick。

有人可以帮忙吗?

package com.wepromoteme.brapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

setupPlayPauseButton1();

} 

private void setupPlayPauseButton1() {
    ImageButton btn1 = (ImageButton) findViewById(R.id.play_pause1);

    btn1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            ImageButton btn1 = (ImageButton)
findViewById(R.id.play_pause1);
            btn1.setImageResource(R.drawable.play);
        }
    });
}
}

谢谢

@shree202

这是新代码:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

setupPlayPauseButton1();

} 

private void setupPlayPauseButton1() {
    final ImageButton btn1 = (ImageButton) findViewById(R.id.play_pause1);

    btn1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            int i=0;
            if(i%2==0) {
                btn1.setImageResource(R.drawable.play);
            } else {
                btn1.setImageResource(R.drawable.pause);

            }
        }
    });
}
}

谢谢

最佳答案

您应该扩展 ImageButton 并保持 Button 的状态。所以它会将您的点击监听器更改为如下所示:

    @Override
    public void onClick(View v) {
        MyImageButton btn1 = (MyImageButton) findViewById(R.id.play_pause1);
        btn1.toggleState();
        switch(btn1.getState()){
           case 0:
              btn1.setImageResource(R.drawable.play);
              break;
           case 1:
              bt1.setImageResource(R.drawable.stop);
              break;
        }
    }

关于Android imagebutton 每次点击都会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18449072/

相关文章:

javascript - 如何在 Android 中的 MHTML 文件上应用 javaScript 函数?

android - 屏幕截图代码Android的任何屏幕

android - Android Studio 中的 Firebase android jars 文档/javadoc

android - 带有背景颜色选择器的按钮 - 单击时背景颜色从按钮中延伸出来

android - 在 Button 中动画化 Drawable 变化

android - 如何使用Gradle一次构建多个APK?

android - 从 assets/www 目录访问文件

Android - 设置了layout_weight的多行按钮的高度

android - 如何使用 style.xml 文件中的样式(以及所有其他样式)创建无边框按钮

android - 如何在 Android 上以编程方式更改 Material Components 中的颜色?