gpt4 book ai didi

android - 保存按钮的状态

转载 作者:行者123 更新时间:2023-11-29 21:48:42 24 4
gpt4 key购买 nike

有人知道如何保存按钮的状态吗?我想启用一个按钮,该按钮将根据特定条件永久启用,即使用户退出应用程序,它也应保持启用状态。我已经启用了按钮。现在我怎样才能保存它以使其始终启用?

我是这样设置的。我在另一个类上使用 putExtra 来设置按钮启用。

Button page2 = (Button) findViewById(R.id.button2);

Intent intent2=getIntent();

String isEnabled2 = intent2.getStringExtra("isEnabled2");
if(isEnabled2==null||isEnabled2.equals("disabled")){
page2.setEnabled(false);
}
else{
page2.setEnabled(true);
}

page2.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {

Intent myIntent = new Intent(view.getContext(), p3.class);
startActivityForResult(myIntent, 0);

}
});

编辑

Button page2 = (Button) findViewById(R.id.button2);

Intent intent2=getIntent();
String isEnabled2 = intent2.getStringExtra("isEnabled2");
if(isEnabled2==null||isEnabled2.equals("disabled")){
page2.setEnabled(false);
}
else

{

page2.setEnabled(true);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(Enable.this);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("Name",true); //name is the key so may use a username or whatever you want
editor.commit();
}
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean btnEnabled = preferences.getBoolean("Name",false); //false because you probably want that as your default value
if(btnEnabled)
{
page2.setEnabled(true);
}

page2.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {

Intent myIntent = new Intent(view.getContext(), p3.class);
startActivityForResult(myIntent, 0);

}
});

最佳答案

您可以将状态保存在Shared Preferences中然后在用户打开应用程序时检查该值。另一种选择是将其存储在 SQLite DB 中如果您有很多其他数据需要为用户存储

有很多关于使用 Shared Prefs 的例子,所以在这里写一个很好的例子而不是在 SO 上写一个很好的例子

Shared Prefs Example

示例

if(isEnabled2==null||isEnabled2.equals("disabled")){
page2.setEnabled(false);
}
else{
page2.setEnabled(true);
//create an editor and put your value in there
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(YourActivity.this);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("Name",true); //name is the key so may use a username or whatever you want
editor.commit();
}

然后当你想取回这个值的时候

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean btnEnabled = preferences.getBoolean("Name",false); //false because you probably want that as your default value
if(btnEnabled)
{
page2.setEnabled(true);
}

像这样的东西应该可以工作。我还没有检查过,但它应该让你去

编辑

要让它开始,在 xml 中:

android:clickable="false"

或在检查共享首选项之前以编程方式在 onCreate() 中设置它

page2.setEnabled(false);

关于android - 保存按钮的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15042752/

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