我是Android的新手,我很厌倦在我的每项活动中实施View.OnClickListener
。我需要一种方法,可以轻松地为我做。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用ButterKnife
然后使用
@OnClick(R.id.submit)
public void submit(View view) {
// TODO submit data to server...
}
答案 2 :(得分:0)
您可以通过为所有活动创建abstract class
和extend
来实现此目的。通常称为基类。
以下是代码:
public abstract class BaseActivity extends Activity implements View.OnClickListener{
public void attachClickListener(int... views){
for(int i = 0; i<views.length;i++){
findViewById(views[i]).setOnClickListener(this);
}
}
@Override
public void onClick(View v) {}
}
将两个方法保留在基类中,并从基类扩展的活动类中重写它。
attachClickListener
方法将遍历您将在活动类中作为参数发送的所有ID。
以下是您的活动类的代码:
@Override
attachClickListener(R.id.yourViewFromXml1, R.id.viewFromXml2, R.id.viewFromXml3 );
您可以添加无限ID。
@Override
OnClick(View v){
switch(v.getId())
case R.id.yourViewFromXml1 : // do your stuff;
break;
case R.id.ViewFromXml2 : // do your stuff;
break;
}