簡體   English   中英

將動態創建的切換按鈕的狀態更改為在另一個單擊按鈕上打開和關閉

[英]Change state of Dynamically created toggle button to on and off on Another clicking button

我需要動態創建一個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

        }
    });

您需要將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....
            }
        }
    });

您可以執行以下操作:

輸入getTag / setTag:

button1.setTag(1);
button2.setTag(2);

現在,我們可以對每個按鈕使用相同的OnClickListener:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM