您好我已经基于toggleButton选择实现了应用程序。但是当我关闭该应用程序然后重新打开它时,它将进入其“关闭”的默认选择。 那么任何budy都可以告诉我应该如何保存toogleButton选择的状态并根据toggleButton选择状态执行一些操作。 。 。 感谢。
答案 0 :(得分:13)
使用SharedPreferences。
tg = (ToggleButton) findViewById(R.id.toggleButton1);
tg.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
if((tg.isChecked()))
{
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("tgpref", true); // value to store
editor.commit();
}
else
{
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("tgpref", false); // value to store
editor.commit();
}
}
});
这是检索值的方法:
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
boolean tgpref = preferences.getBoolean("tgpref", true); //default is true
if (tgpref = true) //if (tgpref) may be enough, not sure
{
tg.setChecked(true);
}
else
{
tg.setChecked(false);
}
我没有验证这段代码,但是看一下网上的一些例子,很容易!
答案 1 :(得分:3)
使用像erdomester建议的SharedPreferences,但我修改了他的代码。有一些不必要的条件。
tg = (ToggleButton) findViewById(R.id.toggleButton1);
tg.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("tgpref", tg.isChecked()); // value to store
editor.commit();
}
});
这是检索值的方法:
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
boolean tgpref = preferences.getBoolean("tgpref", true); //default is true
tg.setChecked(tgpref);
答案 2 :(得分:3)
最好的方法是,你可以设置tgbutton相同的
屏幕主要
Intent intent = new Intent(this, Something.class);
intent.putExtra(BOOLEAN_VALUE, Boolean.valueOf((tvConfigBoolean.getText().toString())));
startActivity(intent);
屏幕上的东西
Bundle bundle = getIntent().getExtras();
tbtConfigBoolean.setChecked((bundle
.getBoolean(MainActivity.BOOLEAN_VALUE)));
并保存状态
editor.putBoolean("BooleanKey", tbtConfigBoolean.isChecked());
editor.commit();
祝你好运