gpt4 book ai didi

javascript - 如何像 React.js 一样在 Java 中进行实时值更改

转载 作者:行者123 更新时间:2023-12-04 08:20:20 24 4
gpt4 key购买 nike

我已经习惯了 React.js 6 个月,并开始从头开始为我的 Android 应用程序开发一个应用程序。

React.js 中,当 boolean 值从 false 变为 true 时它所做的一切:

this.state = {
checkmarkChecked: false
}
if (this.state.checkmarkChecked) {
//If the checkmarkChecked is true
//TODO: show all checks
} else {
//If the checkmarkChecked is false
//TODO: hide all checks
}

如果 checkmarkChecked 被切换为 true,它会调用 true 来显示。

现在我是 Android 开发 Java 的新手,我尝试了其中之一:

//onCreate
while (true) {
if (checkmarkChecked) {
System.out.println("True");
} else {
System.out.println("False");
}
}

实际上,while(true) 会导致我的应用程序在开始时卡住。

最佳答案

您可以使用包含BooleanMutableLiveData,并注册 Activity 以使用.observe() 观察它。

每当这个 boolean 值发生变化时,onChanged() 回调就会被 boolean 值的新值触发。

public class MainActivity extends AppCompatActivity {

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

final MutableLiveData<Boolean> state = new MutableLiveData<>(false);

state.observe(this, new Observer<Boolean>() {
@Override
public void onChanged(Boolean newValue) {
if (newValue) {
Toast.makeText(MainActivity.this, "True", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "False", Toast.LENGTH_SHORT).show();
}
}
});

Button myButton = findViewById(..);

myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
state.setValue(!state.getValue());
}
});

}
}

用于切换 boolean 值以测试它的按钮

关于javascript - 如何像 React.js 一样在 Java 中进行实时值更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65526623/

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