我有一个带有TextView和设置关闭按钮的设置活动。 我希望每个按钮都能更改其他活动中textview的背景。
我需要有关如何执行此操作的示例代码。
提前谢谢大家。
代码:
btn.setOnClickListener( new
View .OnClickListener () {
public boolean stateChanged;
public void onClick(View view) {
if (stateChanged) {
// reset background to default;
tv.setBackgroundResource
(R.drawable.favon);
} else {
tv.setBackgroundResource
(R.drawable.favoff);
}
stateChanged = !stateChanged;
答案 0 :(得分:0)
简而言之,您将从初始化开始。
使用get
获取任何已保存的值,如果未找到任何内容,则使用默认值。
或使用edit
和put
存储数据。
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
sharedPreferences.getInt("key", defaultValue);
sharedPreferences.edit().putInt("key", value).apply()
编辑:
final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
// Set up how the background was before
if (sharedPreferences.getBoolean("textViewBackground", true)) {
// Default background
tv.setBackgroundResource(R.drawable.favon);
} else {
// Other background
tv.setBackgroundResource(R.drawable.favoff);
}
btn.setOnClickListener(new View.OnClickListener() {
public boolean stateChanged;
public void onClick(View view) {
if (stateChanged) {
// reset background to default;
tv.setBackgroundResource(R.drawable.favon);
} else {
tv.setBackgroundResource(R.drawable.favoff);
}
stateChanged = !stateChanged;
sharedPreferences.edit().putBoolean("textViewBackground", stateChanged).apply();
}
});