我需要动态创建一个切换按钮&单击按钮时,所有切换按钮都应更改为默认状态。
for (int i = 0; i < pref_Array.length; i++) {
ToggleButton tglPreference = new ToggleButton(this);
tglPreference.setId(i);
tglPreference.setTextSize(20);
tglPreference.setBackgroundResource(R.drawable.btn_toggle);
tglPreference
.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
tglPreference.setTextOn("On);
tglPreference.setTextOff("OFF);
}
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
答案 0 :(得分:0)
您需要将ToggleButtons存储在ArrayList
中以供日后访问。
List<ToggleButton> toggleButtons = new ArrayList<ToggleButton>();
for (int i = 0; i < pref_Array.length; i++) {
ToggleButton tglPreference = new ToggleButton(this);
tglPreference.setId(i);
tglPreference.setTextSize(20);
tglPreference.setBackgroundResource(R.drawable.btn_toggle);
tglPreference
.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
tglPreference.setTextOn("On);
tglPreference.setTextOff("OFF);
toggleButtons.add(tglPreference);
}
然后在你的按钮onClickListener ...
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for ( ToggleButton button : toggleButtons ) {
// set button to default state....
}
}
});
答案 1 :(得分:0)
您可以这样做:
输入getTag / setTag:
button1.setTag(1);
button2.setTag(2);
现在我们可以为每个按钮使用相同的OnClickListener:
listener = new OnClickListener() {
@Override
public void onClick(View v) {
doAction(v.getTag());
}
};