gpt4 book ai didi

java - 如何在 Android 中再次设置 boolean 值 true ?

转载 作者:行者123 更新时间:2023-12-02 04:12:55 25 4
gpt4 key购买 nike

第一次声明boolean isCheckedtrue,而不是我在OnClickListener中设置为false。我需要的是在下一个 OnClickListener 中再次将 boolean isChecked 设置为 true。我知道它们不在同一范围内,但我该怎么做?这是我的代码:

answer[j].setOnClickListener(new View.OnClickListener() {
private boolean isChecked = true;

@Override
public void onClick(View v) {
RadioButton checkedRadioButton = ((RadioButton) v);
if (isChecked) {
if (checkedRadioButton.isChecked()) {
score++;
isChecked = false;
}
}
}
});

resetButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
isChecked = true;
score = 0;
}
});

谢谢!

最佳答案

您只需在 onclick 监听器范围之外声明 boolean 值即可。然后它将变得更容易访问,您可以用它做任何您需要的事情。在 onCreate 之前声明它,以便它在此类中具有全局访问权限。

示例

public class MainActivity extends AppCompatActivity {
Button btn, btn2;
boolean isValid;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.button);
btn2 = (Button) findViewById(R.id.button2);
isValid = true;

btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
isValid = true;
}
});

btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
isValid = false;
}
});

}
}

编辑 V2

我再次查看了您发布的代码,从我可以看出您的逻辑是说如果 isValid 为 true (您有 if(isValid) ),然后进入您的逻辑。首先,您实际上是将该值声明为 false。所以在你的代码中说 isValid = true;发生的事情是你的逻辑说 boolean 值不正确,所以不要执行代码。

编辑 V3

好吧,我再次查看了您的所有代码,我可以看到发生了什么。由于该变量现在是全局变量,一旦我们将其声明为 false,它就不会再次执行,因为它永远没有机会再次重新分配为 true。老实说,我不明白这个变量的用途。除了呆在那里之外,什么也没做,哈哈。但是,如果您想要变量,您应该删除 isChecked = false; 行正如我所说,老实说,我认为您的代码中没有任何用途。

关于java - 如何在 Android 中再次设置 boolean 值 true ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33614806/

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