nkc*_*cmr 33 android togglebutton
我有一个ToggleButton,我需要设置简单的点击操作.如何为ToggleButton实现简单的单击侦听器?
如果您需要详细信息,请询问.
Kei*_*son 52
this.someToggleButton = (ToggleButton)findViewById(R.id.someToggleButton) ;
this.someToggleButton.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton toggleButton, boolean isChecked) {
doSomethingWith(toggleButton, isChecked) ;
}
}) ;
Run Code Online (Sandbox Code Playgroud)
Jac*_*Ras 39
ToggleButton扩展了View,所以你可以简单地使用View.setOnClickListener(),如下所示:
// get your ToggleButton
ToggleButton b = (ToggleButton) findViewById(R.id.myButton);
// attach an OnClickListener
b.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// your click actions go here
}
});
Run Code Online (Sandbox Code Playgroud)
sal*_*lid 30
使用View.setOnClickListener()和检查按钮的状态.
final ToggleButton tB = (ToggleButton) findViewById(R.id.toggleButton1);
tB.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(tB.isChecked()){
//Button is ON
// Do Something
}
else
//Button is OFF
// Do Something
}
});
Run Code Online (Sandbox Code Playgroud)
dav*_*wil 16
只是为了在其他答案中添加一个未强调的点 - 以编程方式绑定点击处理程序对bolierplate代码有点沉重.正如文档中所提到的,它仅在某些情况下是必要的,例如:
如果在布局中定义了ToggleButton,那么在那里绑定处理程序方法会更简单,更简洁
<ToggleButton
android:id="@+id/togglebutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="On"
android:textOff="Off"
android:onClick="onToggleClicked"/>
Run Code Online (Sandbox Code Playgroud)
然后,只需要在Activity Java中定义处理程序方法
public void onToggleClicked(View view) {
if(((ToggleButton) view).isChecked()) {
// handle toggle on
} else {
// handle toggle off
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,该方法可以具有任何名称,但签名必须符合以下条件:
public方法voidView(这将是View被点击的)| 归档时间: |
|
| 查看次数: |
54436 次 |
| 最近记录: |