gpt4 book ai didi

java - Android Studio中如何保存按钮的状态?

转载 作者:行者123 更新时间:2023-12-01 16:26:18 24 4
gpt4 key购买 nike

我是 Java 编程新手,正在学习 Android 应用程序类(class)。我正在 Activity 内构建一个按钮。但是当我退出 Activity 时,按钮会更改为原始状态。我知道我没有做任何事情来保存它的状态,但是我该怎么做呢?

这是 xml 文件(仅按钮部分):

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Catch"
android:id="@+id/button"
android:onClick="toggleCatch" />

这里是toggleCatch:

private boolean isCaught = false;    
@SuppressLint("SetTextI18n")
public void toggleCatch(View view) {
Button button = findViewById(R.id.button);

if (isCaught) {
button.setText("Catch");
isCaught = false;
} else {
button.setText("Release");
isCaught = true;
}
}

我该怎么做才能让它发挥作用?

最佳答案

您应该将指示其状态的数据存储在某个地方:1. SQLlite2、服务器3.共享首选项

然后,当您创建 Activity 时,您可以根据加载的数据设置 btn 的状态。

如果你只是为了练习,我相信份额就可以了。

https://developer.android.com/training/data-storage/shared-preferences

将任何数据本地存储在sharedPreference中:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean("SOME_NAME_FOR_YOUR_VARIABLE_EX_BTN_STATE", trueOrFalse);
editor.commit();

获取保存的数据:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
boolean stateBtn = sharedPref.getBoolean("SOME_NAME_FOR_YOUR_VARIABLE_EX_BTN_STATE", defaultValueForExTrue);

sharedPref.getBoolean也可用于sharedPref.getString、sharedPref.getInt等..

希望有帮助..我建议您阅读上述主题。(SQLlite、SharedPreference)

关于java - Android Studio中如何保存按钮的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62137727/

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