2014-11-20 60 views
0

我想在我的Android代碼中使用ToggleButton,但它似乎沒有做任何事情,我不知道我做錯了什麼。有誰知道我做錯了什麼?切換按鈕在點擊時沒有做任何事

這是代碼:

public class StartActivity extends ActionBarActivity { Toast t; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_start); 

    }  public void onToggleClicked(View view) { 
     boolean on = ((ToggleButton) view).isChecked(); 
     if (true) { 

      t=Toast.makeText(getApplicationContext(), "Anesthesia has started",Toast.LENGTH_SHORT); 
      t.show(); 
      Intent b_1=new Intent(StartActivity.this,TestService.class); 
      startService(b_1); 

     } else { 
      t=Toast.makeText(getApplicationContext(), "Anesthesia has ended",Toast.LENGTH_SHORT); 
      t.show(); 

     } } 

回答

1

你爲什麼不打電話給你onToggleClicked方法?

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_start); 
    ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleButton); 
    onToggleClicked(toggle); 

    // Or set a listener that will be called every time the toggle is changed: 
    toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton compoundButton, boolean b) { 
      Toast.makeText(getApplicationContext(), "Toggle set to: " + b, 
        Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 
+0

這將調用該方法時,活動第一次運行,就是這樣......不是當按鈕被觸發。 – codeMagic 2014-11-20 18:05:17

+0

謝謝,它幫助我! – colibriii 2014-11-20 18:12:38

+0

@colibriii你確定這是你想要的嗎?看到我上面的評論。如果是按鈕,它沒有任何意義 – codeMagic 2014-11-20 18:17:50

1

您沒有設置在XML中onClickToggleButton內。

<ToggleButton 
    ... 
    android:onClick="onToggleClicked"/> 

Docs

這是一個用戶定義的方法,所以你需要告訴你的Button使用該方法(它可以被命名爲任何你想要的)。上面的文檔鏈接也解釋瞭如何使用OnCheckedChangeListener如果您願意。

側面說明:我想你想if (on)而不是if (true)