初学者困扰togglebutton数组?

时间:2011-11-07 10:50:31

标签: android arrays togglebutton

刚刚开始搞乱android sdk,需要考虑优化我的代码。 香港专业教育学院搜索和完成教程,但它只是没有点击togglebutton数组。

这是我所拥有的一个例子,你可以看到我是否说过128个按钮会变得混乱。 我还需要知道按钮的已检查状态

my activity class
private ToggleButton seqButton1;
private ToggleButton seqButton2;
blah.....
private ToggleButton seqButton128;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

seqButton1 = (ToggleButton) findViewById(R.id.btn1);
seqButton2 = (ToggleButton) findViewById(R.id.btn2);
....blah

正确方向的任何帮助或要点都是ace ta

编辑: 这是我崩溃的新代码

    package trkrPkg.trackr;

import android.app.Activity;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.Toast;
import android.widget.ToggleButton;

public class TrackerActivity extends Activity implements OnCheckedChangeListener {

     @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
       Toast.makeText(this, "Toggle Button:" + buttonView.getId() + " is checked: " + isChecked, Toast.LENGTH_SHORT).show();
    }


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        LinearLayout layout = (LinearLayout)findViewById(R.id.my_toggle_container);

        for (int i = 0; i<128; i++) {
            ToggleButton tgl = new ToggleButton(this);
            tgl.setId(i);
            tgl.setOnCheckedChangeListener( this);
                layout.addView(tgl); 
           }

    }
}

1 个答案:

答案 0 :(得分:0)

您可以动态添加ToggleButtons,而不是在xml和

中声明它们
 public class YourActivity extends Activity implements OnCheckedChangeListener {

    //..

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
       Toast.makeText(this, "Toggle Button:" + buttonView.getId() + " is checked: " + isChecked, Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

       LinearLayout layout = (LinearLayout)findViewById(R.id.my_toggle_container);

       //..
       for (int i = 0; i<128; i++) {
        ToggleButton tgl = new ToggleButton(this);
        tgl.setId(i);
        tgl.setOnCheckedChangeListener(this);
            layout.addView(tgl); 
       }
       //...
    }
}//end class