повторное использование кода для деятельности сбивает с толку. В обычной ситуации мы можем спроектировать родительскую деятельность и поместить в нее все распространенные методы. как следовать:
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 будет показывать алерты, а не выходить сразу при нажатии кнопки назад.
Но в платформе Android есть несколько встроенных активностей, таких как PreferenceActivity, ListActivity, ActivityGroup и т. Д.
если моя деятельность расширяет эти действия, то она не может использовать общий код, определенный в BaseActivity.because единственного наследования Java.
Так есть ли другой способ рекомендовать сделать повторное использование кода для активности в Android?