gpt4 book ai didi

java - Android CardView,使用开关监听器更改背景颜色

转载 作者:行者123 更新时间:2023-12-02 10:29:05 26 4
gpt4 key购买 nike

我有一个卡片 View ,里面有一个开关。当开关打开时,我想将卡片的背景颜色更改为绿色,当开关关闭时(默认情况下是),而不是红色。我还需要在本地保存开关状态,因此当我再次打开应用程序时,它仍保持在最后的位置。我不知道在适配器中执行所有代码是否可以。我使用 2 个 fragment ,卡片 View 位于其中一个 fragment 的 ListView 中。我想我必须使用

//paidSwitch是cardview中的开关
paidSwitch.setOnCheckedChangeListener(新CompoundButton.OnCheckedChangeListener(){
@覆盖
公共(public)无效onCheckedChanged(CompoundButton按钮View, boolean isChecked){
payCard.setCardBackgroundColor(??? 我需要在这里获取我的 R.color.green 值);

此代码位于适配器类的 getView 方法内。列表中的每个卡片 View 都有自己的开关。我附上 fragment 的图片,这样更容易理解。附:当我在这里发布一些照片时,如何缩小图片的尺寸(屏幕尺寸)? enter image description here

最佳答案

这应该有效:

    final int greenBackgroundColor = ContextCompat.getColor(this, R.color.my_red_color);
final int redBackgroundColor = ContextCompat.getColor(this, R.color.my_green_color);
switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b){
cardView.setCardBackgroundColor(greenBackgroundColor);
}
else{
cardView.setCardBackgroundColor(redBackgroundColor);
}

}
});

并使用以下命令设置默认卡片背景:

app:cardBackgroundColor="@color/white"

希望这有帮助

关于java - Android CardView,使用开关监听器更改背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53712413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com