我有onClick方法,例如,在Activity中。为什么处理这种方式是不好的方法?
@Override
public void onClick(final View v) {
if (v == mBtnGo || v == mBtnBack) {
handleActionClick();
} else if (v == mBtnNext) {
handleNextClick();
}
}
假设使用这个逻辑:
@Override
public void onClick(final View v) {
switch (v.getId()) {
case R.id.btn_go:
case R.id.btn_back:
handleActionClick();
break;
case R.id.btn_next:
handleNextClick();
break;
default:
break;
}
}
答案 0 :(得分:1)
这两种方法都有效。
在单个onClick(
)方法中处理多次点击时
第二种方法允许您使用switch语句
比if-else语句链更快,更易读。
答案 1 :(得分:1)
有时我们不需要保留View的引用。我们只想注册点击事件,例如:findViewById(R.id.button).setOnClickListener()
我也更喜欢使用switch而不是if-else