一直困扰我的Activity继承问题解决了。通过这样的方式继承,可以简化具有相同样式的Activity的代码。比如一个项目中会有很多自定义ActionBar的Activity顶部是只包含返回按钮和标题,在父类中实现有这些共性,返回按钮和设置标题的工作就无需在子类中再做了。只需在父类中实现点击返回时finish,设置标题的文字,子类拿过去就可以用,很方便,大大简化了代码和初始化的工作。
public abstract class BaseActivity extends Activity {
@Override
public void onCreate(bundle) {
super.onCreate(bundle);
setContentView(getLayoutResourceId());
}
protected abstract int getLayoutResourceId();
}
public class Activity1 extends BaseActivity {
@Override
public void onCreate(bundle) {
super.onCreate(bundle);
// do extra stuff on your resources, using findViewById on your layout_for_activity1
}
@Override
protected int getLayoutResourceId() {
return R.layout.layout_for_activity1;
}
}