前言:目前比较流行的第三方注解框架要数butterknife和Annotations,两者各有千秋,但是我更加倾向于使用annotation。所以这篇主要讲解annotation。
我认为annotation有以下两个缺点:
1. 每次添加新的activity绑定后,需要编译一次
2. 不可以抽取到基类中。而butterknife是可以的。所以更加butterknife简便,如下代码:
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Window;
import com.lenovohit.administrator.tyut.app.AppManager;
import com.lenovohit.administrator.tyut.receiver.NetStateReceiver;
import com.lenovohit.administrator.tyut.receiver.Observer;
import butterknife.ButterKnife;
/**
* Created by Administrator on 2017/2/21.
*/
public abstract class BaseActivity extends FragmentActivity implements Observer{
public static Activity currentActivity;
private NetStateReceiver receiver;
private AppManager appManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setTheme(android.R.style.Theme_Light_NoTitleBar);
currentActivity=this;
appManager = AppManager.getAppManager();
appManager.addActivity(this);
initView();
initDate();
initEvent();
}
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
ButterKnife.bind(this);
}
public abstract void initView();
public abstract void initDate();
public abstract void initEvent();
}