2011-08-22 16 views
17

ToggleButtonの状態にアクセスする必要があります。どのようにしてToggleButtonの特定の状態のメソッドを作成する方法が見えないのですか。私がこれまでによどこだからここにある:ハンドラを介してToggleButtonの状態を取得

ToggleButton syncSwitch = (ToggleButton)findViewById(R.id.toggleButton1); 
syncSwitch.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View view){ 
     Toast.makeText(getApplicationContext(), "Click!", Toast.LENGTH_SHORT).show(); 
    } 
}); 

は、今私が必要とするすべてのハンドラにToggleButtonの状態を伝えることができるブール方法のいくつかのタイプです。

+0

syncSwitch.isChecked()が役に立たないのですか? – ruhalde

+0

ニコライの答えに私のコメントを参照してください – nkcmr

答えて

34

「特定の状態のメソッドを作成する」とはどういう意味ですか?あなたはisChecked()を使って州を得ることができます。あなたも、この

ToggleButton toggle = (ToggleButton) findViewById(R.id.toggle); 
toggle.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

@Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       Toast.makeText(getApplicationContext(), 
         String.valueOf(buttonView.isChecked()), Toast.LENGTH_SHORT).show(); 
      } 
     }); 

ようtogglebtn.setOnCheckedChangeListenerリスナーを使用して確認することができます

+0

大丈夫、thats奇妙な。あなたは*正しい*しかし、私はToggleButtonのドキュメントを上下されていると私はそれを見ていない。 – nkcmr

+2

他のクラスから継承されているため、メソッドが非表示になることがあります。とにかく、実際にドキュメントが本当にうんざりしていると、isChecked()はandroid.widget.CompoundButtonの下にあります。 – ruhalde

+0

私はそれがうんざりと言うほど遠くには行かないでしょう。 「継承されたメソッド」リンクをクリックするだけで、リスト内に「Checkable」という名前のインターフェイスがあります。詳細はデフォルトでは隠されていますが、それはUIウィジェットの継承階層がかなり深いことがあるため、機能です。 –

8

は、この情報がお役に立てば幸いです。

関連する問題