ActionBarSherlockを使用してAndroidアプリケーションを構築しています。
複数の種類のアクティビティがあります。
- SherlockFragmentアクティビティ
- SherlockMapアクティビティ
- シャーロックアクティビティ
画面の内部ワークフローに従うために、すべての活動で共通の方法を共有したいと考えています。
Workflow
拡張するクラスを作成すると、SherlockFragmentActivity
機能しMapActivity does
なくなります。Worflow
拡張するクラスを作成するとSherlockMapActivity
、 myTutorialActivity
は機能しなくなります ( 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);
}