公共类多个扩展和实现

时间:2014-05-05 20:18:03

标签: java android eclipse multiple-inheritance

所以...我现在使用这个公共类,它工作正常(MainActivity.java)我的应用程序中的选项卡。但我想用标签做一些事情,需要使用按钮和textViews等东西。 但我不能因为我需要使用两个扩展和两个工具才能工作。

public class MainActivity extends ActionBarActivity implements TabListener 

外观/工作方式,外观和工作方式

public class MainActivity extends ActionBarActivity, Activity implements TabListener, OnClickListener

如何解决此问题的任何修复或知识? (我使用Android Eclipse)

2 个答案:

答案 0 :(得分:0)

参见http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html部分"抽象类与接口相比"。

如果要定义多个类可以实现的行为,最常用的方法是使用接口。

答案 1 :(得分:0)

您的MainActivity是一种Activity,但该活动不是ActionBar。它可能 ActionBar或使用一个,但它不是ActionBar。因此,尝试让MainActivity类扩展ActionBar是错误的概念。

我不确定你想做什么(我个人还没有尝试直接使用ActionBar课程)。如果您只是希望自己的活动使用操作栏执行操作,只需声明ActionBar类型的变量:

ActionBar actionBar;

并在需要时将其分配给getActionBar()getSupportActionBar()。如果你真的想添加功能到Android提供的ActionBar,也许你可以定义一个扩展ActionBar的类,但我不知道你是怎么做的# 39;告诉Android将新类用于它设置的操作栏。请参阅this tutorial

编辑:发布此答案后,问题已经过修改,现在您的班级已展开ActionBarActivity

public class MainActivity extends ActionBarActivity, Activity implements TabListener, OnClickListener

那是不同的。但是,ActionBarActivity已经扩展Activity,因此您不需要将Activity放在上面的类定义中。它会自动延长Activity