2011-11-07 57 views
0

刚开始搞乱android sdk,需要考虑优化我的代码。 ive搜索并完成了教程,但它只是不会点击togglebutton数组。beginner woes 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 

在正确的方向上的任何帮助或点将是王牌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); 
      } 

    } 
} 
+0

你是说这样访问togglebutton数组:http://goo.gl/0dkNg –

回答

0

您可以动态地添加切换按钮而不是在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 
+0

谢谢,这是即时通讯之后,但应用程序只是崩溃。你能在这里看到什么不对吗? – user1033558

+0

什么是堆栈跟踪错误? – Damian

+0

哈哈我不能邮编代码了 – user1033558