java - 如何更改 Android 按钮颜色 onClick?

标签 java android android-layout button onclick

每次单击按钮时,我都想更改 android 按钮的颜色。一旦用户单击一个按钮,我希望它的颜色发生变化。然后,当再次按下按钮时,颜色恢复为之前的颜色。这是我的尝试:

private void setupFollowButton(Button button, final Boolean isClicked) {
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Boolean isClickedDummy = !isClicked;
            if(isClickedDummy) {
                v.setBackgroundColor(Color.parseColor("#FF0000"));
            } else {
                v.setBackgroundColor(Color.parseColor("#FFFFFF"));
            }
        }
    });
}

最初我想要这样 isClicked = !isClicked 这样我就可以确定 isClicked 变量已经改变并且我可以改变颜色。但是,我上面的方法只是将 isClicked 更改为 false,我似乎无法将其更改回 true。有什么办法可以解决这个问题吗?任何帮助,将不胜感激。谢谢!

最佳答案

试试这个:

 isClicked = false;   

     private void setupFollowButton(Button button, final Boolean isClicked) {
            button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    if(isClicked) {
                        v.setBackgroundColor(Color.parseColor("#FF0000"));
                        isClicked = false;
                    } else {
                        v.setBackgroundColor(Color.parseColor("#FFFFFF"));
                        isClicked = true;
                    }
                }
            });
        }

关于java - 如何更改 Android 按钮颜色 onClick?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37316969/

相关文章:

java - 在网格布局上绘制文本或图像

android - 我无法在我的一个项目中通过 Gradle 使用 Android 支持库或 Play 服务

android - 如何处理 RecyclerView 中的多个倒数计时器?

java - 在Android中隐藏UI元素后如何最小化 ScrollView 的大小?

java - 查找java应用程序的运行时和复杂性

java - Hibernate,JPA无法删除一对多关系

java - 如何解决 Java.lang.NullPointerException : Attempt to invoke virtual method?

android - RelativeLayout 右边有 ImageView,图片左边有 3 个 TextView ,一个在另一个下面

android - SSL 库中的 Firebase Firestore Backend Failure,通常是协议(protocol)错误错误 :140740B5:SSL routines:SSL23_CLIENT_HELLO:no ciphers

android - ScrollView底部布局剪切