アクティビティには2つのラジオボタンがあります。最初のボタンは名前Defaultと2番目のGreenです。ボタンGreenをクリックすると、すべてのアクティビティのすべてのテキストビューに背景色のGreenが表示され、Button Defaultをクリックすると、すべてのテキストビューがデフォルトの状態に戻ります。テキストビュー、背景色の変更
コード;
{
super.onCreate(savedInstanceState);
setContentView(R.layout.settings2);
SharedPreferences preferences =
getSharedPreferences("AppPrefs" ,
MODE_PRIVATE);
final SharedPreferences. Editor.
PrefsEditor = preferences.edit();
final RelativeLayout root_layout=
(RelativeLayout)
findViewById(R.id.root_layout);
final TextView tv_text1 = (TextView)
findViewById(R.id.hym1t);
final TextView tv_text2 = (TextView)
findViewById(R.id.hym2t);
RadioGroup radioDate = (
RadioGroup)
findViewById(R.id.radioGroup);
final RadioButton radio1 = (
RadioButton)
findViewById(R.id.radio1);
RadioButton radio2 = (RadioButton)
findViewById(R.id.radio2);
radioDate.setOnCheckedChange
Listener
(new
RadioGroup.OnCheckedChange
Listener()
{
@Override
public void onCheckedChanged
(RadioGroup group, int.
checkedId) {
if (radio1.isChecked()) {
//set value
PrefsEditor.putString
("RadioButtonSelected" , "1"
);
findViews(mContext,root_layout, 1);//
root_layout is your xml root layout id
}
else {
//set value
PrefsEditor.putString
("RadioButtonSelected" , "2"
);
findViews(mContext,root_layout, 2);
// root_layout is your xml root layout
id
}
}
});
/*get value:*/
String radioButtonSelected=
preferences.getStrin g
("RadioButtonSelected" , "");}
public static void findViews(Context
context, View v, int flag){
try {
if (v instanceof ViewGroup) {
ViewGroup vg = (ViewGroup) v;
for (int i = 0; i <
vg.getChildCount(); i++) {
View child = vg.getChildAt(i);
//you can recursively call this method
findViews(context, child);
}
} else if (v instanceof TextView) {
//do whatever you want ...
if (flag== 1)
{
v.setBackgroundResource
(R.drawable.favoff);
}
else {
v.setBackgroundResource
(R.drawable.favon);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void findViews(Context
context, View child)
{
// TODO: Implement this method
}
}
? – AbhayBohra
これはあなたを助けるかもしれません:http://stackoverflow.com/questions/22044788/button-change-background-color-on-click –