可以帮我写一个功能齐全的android的baseActivity抽象类
时间: 2023-05-13 20:04:24 浏览: 68
当然可以,以下是一个基本的 Android BaseActivity 抽象类的代码示例:
```
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutResourceId());
initViews();
initData();
}
protected abstract int getLayoutResourceId();
protected abstract void initViews();
protected abstract void initData();
protected void showToast(String message) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
protected void startActivity(Class<? extends Activity> activityClass) {
Intent intent = new Intent(this, activityClass);
startActivity(intent);
}
protected void startActivity(Class<? extends Activity> activityClass, Bundle extras) {
Intent intent = new Intent(this, activityClass);
intent.putExtras(extras);
startActivity(intent);
}
protected void startActivityForResult(Class<? extends Activity> activityClass, int requestCode) {
Intent intent = new Intent(this, activityClass);
startActivityForResult(intent, requestCode);
}
protected void startActivityForResult(Class<? extends Activity> activityClass, int requestCode, Bundle extras) {
Intent intent = new Intent(this, activityClass);
intent.putExtras(extras);
startActivityForResult(intent, requestCode);
}
}
```
这个 BaseActivity 抽象类包含了一些常用的方法,例如 showToast、startActivity、startActivityForResult 等等,可以方便地在子类中使用。同时,子类需要实现 getLayoutResourceId、initViews、initData 等抽象方法,以便在 onCreate 方法中进行布局的加载和数据的初始化。