Android 单击此按钮时更改textview的背景色
我有一个textview,我想在单击textview时设置此背景色,并在再次单击textview时重置默认背景色。并将此背景色保存到SharedReference。 你怎么能做到?对不起,我的英语不好。像这样做吧Android 单击此按钮时更改textview的背景色,android,textview,sharedpreferences,background-color,Android,Textview,Sharedpreferences,Background Color,我有一个textview,我想在单击textview时设置此背景色,并在再次单击textview时重置默认背景色。并将此背景色保存到SharedReference。 你怎么能做到?对不起,我的英语不好。像这样做吧 SharedPreferences prefs = getActivity().getSharedPreferences("my_preference", Context.MODE_PRIVATE); String restoredText = prefs.getString("col
SharedPreferences prefs = getActivity().getSharedPreferences("my_preference", Context.MODE_PRIVATE);
String restoredText = prefs.getString("color", "default");
TextView textView = (TextView) view.findViewById(R.id.textView);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String restoredText = prefs.getString("color", "default");
if (restoredText.equals("default")) {
textView.setBackgroundColor(Color.parseColor("#999999"));
SharedPreferences.Editor editor = getSharedPreferences("my_preference", Context.MODE_PRIVATE).edit();
editor.putString("color", "gray");
editor.commit();
} else {
textView.setBackgroundColor(Color.parseColor("#cccccc"));
SharedPreferences.Editor editor = getSharedPreferences("my_preference", Context.MODE_PRIVATE).edit();
editor.putString("color", "default");
editor.commit();
}
}
});
做这样的事
SharedPreferences prefs = getActivity().getSharedPreferences("my_preference", Context.MODE_PRIVATE);
String restoredText = prefs.getString("color", "default");
TextView textView = (TextView) view.findViewById(R.id.textView);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String restoredText = prefs.getString("color", "default");
if (restoredText.equals("default")) {
textView.setBackgroundColor(Color.parseColor("#999999"));
SharedPreferences.Editor editor = getSharedPreferences("my_preference", Context.MODE_PRIVATE).edit();
editor.putString("color", "gray");
editor.commit();
} else {
textView.setBackgroundColor(Color.parseColor("#cccccc"));
SharedPreferences.Editor editor = getSharedPreferences("my_preference", Context.MODE_PRIVATE).edit();
editor.putString("color", "default");
editor.commit();
}
}
});
togglebutton就是为此而设计的。它是免费的,可以随意使用:))您也可以使用自定义xml drawable。谢谢,但我必须使用Textview而不是Togglebutton,请帮助metogglebutton就是为此目的设计的。它是免费的,可以随意使用:))您也可以使用自定义xml drawable。谢谢,但我必须使用Textview not Togglebutton,请帮助我修改,但我们不需要使用final?是的。不需要使用finalSo我们需要更新线程上的UI吗?例如:RunNuithRead或Handler?它有一个bug,当这个活动加载颜色改变时?谢谢,但我们不需要使用final?是的。不需要使用finalSo我们需要更新线程上的UI吗?runOnUIThread或Handler?它有一个bug,当这个活动加载颜色改变时?