【问题标题】:How to extends 2 library classes in android如何在android中扩展2个库类
【发布时间】:2012-01-09 11:59:54
【问题描述】:

我知道 java 不支持多重继承。那么我该如何满足以下要求。

这是我目前的课程:

public class Class1 extends ExpandableListActivity implements ExpandableListView.OnChildClickListener, OnTouchListener, OnItemLongClickListener, OnClickListener, Runnable
{

    @Override
    public void onCreate(Bundle savedInstanceState) {
...
}

}

现在我也想使用“FragmentActivity”类来扩展它。

例子:

public class Class1 extends ExpandableListActivity, FragmentActivity implements ExpandableListView.OnChildClickListener, OnTouchListener, OnItemLongClickListener, OnClickListener, Runnable
{

    @Override
    public void onCreate(Bundle savedInstanceState) {
...
}  

}    

【问题讨论】:

  • 我认为这是不可能的。您可以尝试在 Fragment Activity 的布局中添加 ExpandableListView 作为项目。

标签: java android multiple-inheritance


【解决方案1】:

你不能。您正在实现一个活动,因此它应该是 ExpandableListActivity 或 FragmentActivity,但不能同时是两者。根据您的实际需求,您应该选择一个。但一种可行的方法是将 ExpandableListView 添加到您的 FragmentActivity 布局中。

【讨论】:

  • 如果我使用 FragmentActivity 扩展类,那么它会在我的代码中的以下位置引发错误......ExpandableListView elv = getExpandableListView();setListAdapter(mAdapter);registerForContextMenu(getExpandableListView());跨度>
  • 我通过使用“FragmentActivity”类扩展活动并在我的布局文件中定义 ExpandableListView 来修复它,它工作正常。
【解决方案2】:

我们可以在 android XML 文件中显示 ExpandableListView。所以,使用 Fragment Activity 在 android XML 中显示 ExpandableListView。

【讨论】:

    【解决方案3】:

    在 java 中,一个类不能扩展多个类。但是接口可以扩展多个类。

    这是扩展多个类然后在您的类中使用该接口的唯一方法。

    【讨论】:

      猜你喜欢
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 2014-12-30
      • 2018-01-15
      相关资源
      最近更新 更多