2011-11-07 56 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