如何将一个类扩展到两个库?

时间:2015-12-19 06:58:16

标签: java android extends

我想在一个类中扩展两个库。

 import android.app.ListActivity;
 import android.app.Fragment;

 public class DisplayAll extends ListActivity extends Fragment{}

但java不支持两个扩展..我怎么能这样做,以便我可以在我的ListActivity类中扩展FragmentDisplayAll ..任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:0)

Java不支持多重继承。

您可以实现多个接口,但不能扩展多个类。

答案 1 :(得分:0)

如前所述,Java不支持多级继承。您可以像下面那样解决这个问题:

import android.app.ListActivity;
import android.app.Fragment;

class ListActivityWithFragment extends Fragment{}

public class DisplayAll extends ListActivityWithFragment {}

答案 2 :(得分:0)

JAVA不支持Multiple Extends类。

您可以创建两个不同的抽象类,并按如下所示使用它。

您的主要班级:

public class DisplayAll extends YourClass1
{

}

您的抽象Class1:

public abstract class YourClass1 extends YourClass2
{
}

您的抽象类2:

public abstract class YourClass2 extends Fragment
{
}

注意:您无法为单个课程延长ActivityFragment

答案 3 :(得分:0)

Java 不支持多重继承,然后你不能这样做

如果您想使用ListActivityFragment,请检查ListFragment或support-v4 version,最好的方法是:

public class DisplayAll extends ListFragment{

}

但是目前我建议您修改Android中的最后一个指南和支持库 一种好的工作方式是使用AppCompatActivty和简单的RecyclerView来显示列表。

答案 4 :(得分:0)

最佳镜头是嵌套类,即声明类扩展Fragment类,扩展扩展ListActivity的类。这样,在扩展Fragment的嵌套类中,您将能够使用在扩展ListActivity的类中创建的所有内容

示例:

 import android.app.ListActivity;
 import android.app.Fragment;

 public class DisplayAll extends ListActivity {
   //ListActivity related stuff here
   public class DisplayAllFragment extends Fragment {
       //Fragment related stuff here
       //You can also access the containing class extending ListActivity's stuff here
   }
}

希望这会有所帮助。