我正在使用ActionBarSherlock构建Android应用程序。
我有多种类型的活动:
- SherlockFragmentActivity
- SherlockMapActivity
- SherlockActivity
我希望我的所有活动都共享通用方法来遵循屏幕的内部工作流程。
如果我创建一个Workflow
扩展的类,SherlockFragmentActivity
那么我MapActivity does
就不再工作了。如果我创建了一个Worflow
扩展类,SherlockMapActivity
那么我的类TutorialActivity
就不再工作了(因为它使用的是new SectionsPagerAdapter(getSupportFragmentManager());
.
请注意,我想要的常用方法也在运行startActivity()
。
我知道Java不能有一个扩展多个类的类,那么我应该怎么做呢?
public class Workflow extends SherlockMapActivity {
protected void goMain() {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
// ...
}
public class TutorialActivity extends Workflow {
// ...
// new SectionsPagerAdapter(getSupportFragmentManager());
// ...
}
public class GameActivity extends Workflow {
// ...
// MapView
// ...
}
我也想分享这样的代码:
@Override
protected void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminate(true);
setProgressBarIndeterminateVisibility(false);
}