button的事件处理
Button的事件处理主要是实现一个事件监听者OnClickerListener的类,这个类可以使内、外部类,匿名类等,如果只有一个button,方便一点的是使用匿名类,如果有多个button,很多代码可以重用,可以使用内部类或者本类自身去实现OnClickerListener类。
代码片段如下:
方式一:
Public class Test extends Activity implements OnClickListener
{
...
Button exit_bt=(Button)this.findViewById(R.id.exit_button);
exit_bt.SetOnClickListener(this);
Button continue_bt=(Button)this.findViewById(R.id.continue_button);
continue_bt.SetOnClickListener(this);
...
Public void OnClick(View v)
{
switch(v.getId())
{
Case R.id.exit_button:
doSomething();
Break;
Case R.id.continue_button:
doAnotherSomething();
Break;
...
..
}
}
...
}
方式二
Public class Test extends Activity
{
...
Button exit_bt=(Button)this.findViewById(R.id.exit_button);
exit_bt.SetOnClickListener(new Listener());
Button continue_bt=(Button)this.findViewById(R.id.continue_button);
continue_bt.SetOnClickListener(new Listener());
...
Class Listener implements OnClickListener
{
Public void OnClick(View v)
{
switch(v.getId())
{
Case R.id.exit_button:
doSomething();
Break;
Case R.id.continue_button:
doAnotherSomething();
Break;
...
..
}
}
}
...
}
方式三:
Public class Test extends Activity
{
...
Button exit_bt=(Button)this.findViewById(R.id.exit_button);
exit_bt.SetOnClickListener(new OnClickListener()
{
Public void OnClick(View v)
{
doSomething();
}
}
);
Button continue_bt=(Button)this.findViewById(R.id.continue_button);
continue_bt.SetOnClickListener(new OnClickListener()
{
Public void OnClick(View v)
{
doAnotherSomething();
}
}
);
...
}
方式一和二相类似,适合处理多个button事件,方式三适合单独处理一个button事件。