Android:解决方法不从2个类扩展

时间:2015-02-03 11:53:53

标签: android

我正在编写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);
    }

2 个答案:

答案 0 :(得分:0)

public class BaseActivity extends ActionBarActivity
{


}

并且

public class IndexActivity extends BaseActivity 
{

}

您的常用代码将在您的BaseActivity类中。

答案 1 :(得分:0)

通常,您可以使用委托替换扩展来解决Java中的此类多扩展问题。但正如PPD所说,您的所有活动都可以从ActionBarActivity延伸。