【发布时间】:2012-02-11 12:37:37
【问题描述】:
活动的代码重用令人困惑。在正常情况下,我们可以设计一个父活动并将所有常用方法放入其中。喜欢关注:
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 中定义的公共代码。因为 Java 的单一继承。 那么有没有其他方法可以推荐在 android 中对活动进行代码重用?
【问题讨论】:
标签: java android design-patterns