Android 在另一个单击按钮上,将动态创建的切换按钮的状态更改为打开和关闭

Android 在另一个单击按钮上,将动态创建的切换按钮的状态更改为打开和关闭,android,Android,我需要动态创建一个toogle按钮&单击按钮时,所有切换按钮都应更改为默认状态 for (int i = 0; i < pref_Array.length; i++) { ToggleButton tglPreference = new ToggleButton(this); tglPreference.setId(i); tglPreference.setTextSize(20);

我需要动态创建一个toogle按钮&单击按钮时,所有切换按钮都应更改为默认状态

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

        }
    });
for(int i=0;i
您需要将切换按钮存储在
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);
}

您可以这样做:

输入getTag/setTag:

button1.setTag(1);
button2.setTag(2);
现在我们可以对每个按钮使用相同的OnClickListener:

listener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        doAction(v.getTag());
    }
};

您是否已尝试切换按钮。设置已检查(对还是错)?
listener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        doAction(v.getTag());
    }
};