我正在编写BaseActivity,为我的所有活动添加相同(常用)菜单。然后我的目标是在我的所有活动扩展BaseActivity,我会有相同的菜单。问题是,例如在MainActivity中,我有一个扩展ActionBarActivity,因为我需要配置ActionBar。 您有解决此问题的任何解决方法,因为我无法扩展2个类吗?
BaseActivity.java
public class BaseActivity extends Activity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_common, menu);
return true;
}
(...)
IndexActivity.java
public class IndexActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//show the icon of the application with Theme AppCompat
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_launcher);
getSupportActionBar().setTitle(Html.fromHtml("<font color=\"grey\">" + getString(R.string.app_name) + "</font>"));
setContentView(R.layout.activity_index);
}
答案 0 :(得分:0)
public class BaseActivity extends ActionBarActivity
{
}
并且
public class IndexActivity extends BaseActivity
{
}
您的常用代码将在您的BaseActivity类中。
答案 1 :(得分:0)
通常,您可以使用委托替换扩展来解决Java中的此类多扩展问题。但正如PPD所说,您的所有活动都可以从ActionBarActivity
延伸。