Android 基类Base的封装
2017-05-07 20:09
447 查看
Base基类等封装- https://github.com/jenly1314/Base/tree/master/src/main/java/com/king/base
把更多的公用性的东西写成可配置化的?
----------------------------
> Android BaseActivity封装
1.BaseParentActivity抽象类封装
public abstract class BaseParentActivity extends RxAppCompatActivity implements BaseViewInterface {
protected LayoutInflater mInflater;
protected Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AppManager.getAppManager().addActivity(this);
if (getLayoutId() != 0) {
setContentView(getLayoutId());
}
mInflater = getLayoutInflater();
mContext = this;
initTitleBar();
initView();
initData();
}
/**
* 打开一个Activity 默认 不关闭当前activity
* @param clz
*/
public void gotoActivity(Class<?> clz) {
gotoActivity(clz, false, null);
}
public void gotoActivity(Class<?> clz,boolean isCloseCurrentActivity) {
gotoActivity(clz, isCloseCurrentActivity, null);
}
public void gotoActivity(Class<?> clz,boolean isCloseCurrentActivity,Bundle ex) {
Intent intent=new Intent(this, clz);
if(ex!=null)
intent.putExtras(ex);
startActivity(intent);
if (isCloseCurrentActivity) {
finish();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
protected int getLayoutId() {
return 0;
}
protected void initTitleBar() {
}
}
2. BaseActivity抽象类进一步封装
public abstract class BaseActivity extends BaseParentActivity implements View.OnClickListener{
@BindView(R.id.title_text)
protected TextView mTitleText;
@BindView(R.id.back_img)
protected ImageView mBackBtn;
@BindView(R.id.right_img)
protected ImageView mRightBtn;
@Override
protected void initTitleBar() {
ButterKnife.bind(this);
}
@Override
@OnClick({R.id.back_img})
public void onClick(View view) {
switch (view.getId()) {
case R.id.back_img:
onBackPressed();
break;
default:
break;
}
}
}
3. CommentActivity实现
public class CommentActivity extends BaseActivity {
@Override
protected int getLayoutId() {
return R.layout.activity_comment;
}
@Override
public void initView() {
mTitleText.setText(R.string.comment);
}
@Override
public void initData() {
}
}
把更多的公用性的东西写成可配置化的?
----------------------------
> Android BaseActivity封装
1.BaseParentActivity抽象类封装
public abstract class BaseParentActivity extends RxAppCompatActivity implements BaseViewInterface {
protected LayoutInflater mInflater;
protected Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AppManager.getAppManager().addActivity(this);
if (getLayoutId() != 0) {
setContentView(getLayoutId());
}
mInflater = getLayoutInflater();
mContext = this;
initTitleBar();
initView();
initData();
}
/**
* 打开一个Activity 默认 不关闭当前activity
* @param clz
*/
public void gotoActivity(Class<?> clz) {
gotoActivity(clz, false, null);
}
public void gotoActivity(Class<?> clz,boolean isCloseCurrentActivity) {
gotoActivity(clz, isCloseCurrentActivity, null);
}
public void gotoActivity(Class<?> clz,boolean isCloseCurrentActivity,Bundle ex) {
Intent intent=new Intent(this, clz);
if(ex!=null)
intent.putExtras(ex);
startActivity(intent);
if (isCloseCurrentActivity) {
finish();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
protected int getLayoutId() {
return 0;
}
protected void initTitleBar() {
}
}
2. BaseActivity抽象类进一步封装
public abstract class BaseActivity extends BaseParentActivity implements View.OnClickListener{
@BindView(R.id.title_text)
protected TextView mTitleText;
@BindView(R.id.back_img)
protected ImageView mBackBtn;
@BindView(R.id.right_img)
protected ImageView mRightBtn;
@Override
protected void initTitleBar() {
ButterKnife.bind(this);
}
@Override
@OnClick({R.id.back_img})
public void onClick(View view) {
switch (view.getId()) {
case R.id.back_img:
onBackPressed();
break;
default:
break;
}
}
}
3. CommentActivity实现
public class CommentActivity extends BaseActivity {
@Override
protected int getLayoutId() {
return R.layout.activity_comment;
}
@Override
public void initView() {
mTitleText.setText(R.string.comment);
}
@Override
public void initData() {
}
}
相关文章推荐
- Android当中的MVP模式(六)View 层 Activity 的基类--- BaseMvpActivity 的封装
- Android 基类BaseActivity的封装
- Android 基类BaseActivity的封装
- Android 基类BaseActivity的封装
- Android快速开发框架Android_BaseLib,集成了常用工具类,自定义View控件,Base基类封装,常用开源框架
- Android Activity基类封装
- Android 开发技巧 - Android 6.0 以上权限大坑和权限检查基类封装
- 利用反射实现对sqlite3数据库的crud(增删改查)操作的一个baseAndroidDao封装,安卓开发中
- Android中基类BaseActivity的设计与实现
- Android 学习笔记之AndBase框架学习(二) 使用封装好的进度框,Toast框,弹出框,确认框...
- RxAndroid+Retrofit+GreenDao+MVP框架---通用基类封装(一)
- 弹出浮层基类 BaseFloating 封装
- android常用封装 --- BaseActivity
- [置顶] Android谈谈封装那些事--BaseActivity和BaseFragment(一)
- Android--带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(二)
- Android系统的计数基类LightRefBase、RefBase与智能指针sp、wp
- 基类Base和DialogFragment类封装的nice对话框
- Android App框架设计之编写基类BaseActivity
- Android App框架设计之编写基类BaseActivity
- android BaseAdapter 自定义适配器 BaseAdapter基类抽取 一