除了以下方法之外,是否还有其他方法可以设置按钮OnClickListener
,例如通过 XML?
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Handle click event.
}
});
除了以下方法之外,是否还有其他方法可以设置按钮OnClickListener
,例如通过 XML?
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Handle click event.
}
});
1)你必须OnClickListener
在这个选项中实现,然后实现它的抽象方法onClick(View)
。
class YourClass implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_activity);
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(this);
}
public void onClick(View v) {
//do something
}
}
2) 另一个选项,您还可以指定 Button 从您的 layout.xml 文件启动的方法。你只需要做这样的事情:
your_layout.xml
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="myCustomMethod" />
回到你的活动类,你只需实现那个方法
class YourClass{
....
public void myCustomMethod(View v){
// do something
}
}
public void clickEvent(View v)
{
switch(v.getID())
{
case R.id.ur_controlId:
//do something...
break;
}
}
在 xml 中声明onclick
属性并将值提供为clickEvent。