활동에 대한 코드 재사용이 혼란 스럽습니다. 정상적인 상황에서 우리는 부모 활동을 설계하고 그것에 공통적 인 모든 방법을 넣을 수 있습니다. 다음과 같이하십시오 :안드로이드 활동을위한 코드 재사용을 수행하는 방법은 무엇입니까?
public class BaseActivity extends Activity{
@Override
protected void doExit() {
showDialog(DIALOG_EXIT_ALTER);
}
protected Dialog onCreateDialog(int id, Bundle args) {
switch (id) {
case DIALOG_EXIT_ALTER:
return new AlertDialog.Builder(BaseUIActivity.this)
.setTitle("Exit?")
.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialoginterface, int i) {
close();
}
})
.setNeutralButton("No",null).create();
default:
return null;
}
}
protected void close() {
finish();
}
}
다른 활동 확장 BaseActivity는 뒤로 버튼을 누르면 즉시 종료하는 대신 alertdialog를 표시합니다. 그러나 안드로이드 프레임 워크에는 PreferenceActivity, ListActivity, ActivityGroup 등과 같은 하나 이상의 빌드 인 활동이 있습니다.
내 활동이 이러한 활동을 확장하는 경우 Java의 단일 상속으로 인해 BaseActivity에 정의 된 공통 코드를 사용할 수 없습니다. 안드로이드에서 코드 재사용을 권장하는 다른 방법이 있습니까?
ActivityHelper는 좋은 예입니다. http://iosched.googlecode.com/hg/android/src/com/google/android/apps/iosched/util/ActivityHelper.java 전체를 검사하십시오. 프로젝트 흐름을 보려면 http://code.google.com/p/iosched/ –
+1 링크를 클릭하고 ActivityHelper는 좋은 해결책입니다. – DouO