implements OnClickListener VS. new Button.OnClickListener() {};
I have a question about implementing OnClickListeners for developing with the ADT. I'm unsure of which way is more efficient, can anyone please provide me with pro's and con's of each approach?
class x extends Activity implements OnClickListener
{
button.SetOnClickListener(this);
OnclickListener(View v)
{
switch(v.getGetId());
{
case R.id.y:
//do stuff here
break;
.
.
.
}
}
}
<-VERS开发者_开发知识库US->
class a extends Activity
{
.
.
.
btn.setOnClickListener(new Button.OnClickListener()
{
OnClickListener(View v)
{
//do stuff here
}
});
}
I think its mostly a case of personal preference. Any performance difference is likely going to be negligible.
Personally, I prefer the nested class:
- Its harder to screw up
- Switch statements are ugly
- You can make use of local variables that may be useful
But some people think that nested classes are ugly, and so prefer the implements approach. That approach does work better if you only have one listener implemented in the activity.
精彩评论