2012-01-09 5 views
2

私はjavaが多重継承をサポートしていないことを知っています。だから私はどのように次の要件を満たすことができます。androidで2つのライブラリクラスを拡張する方法

これは私の現在のクラスです:

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) { 
... 
} 

}  
+2

私はそうは考えていません。フラグメントアクティビティのレイアウトにExpandableListViewを項目として追加することができます。 – Karthik

+0

あなたはそれらをインターフェイスにすることはできません – Newts

答えて

1

できません。あなたはアクティビティを実装しているので、ExpandableListActivityまたはFragmentActivityのいずれかである必要がありますが、その両方をすることはできません。あなたの実際のニーズに応じて、1つを選択する必要があります。しかし、可能な1つのアプローチは、ExpandableListViewをFragmentActivityレイアウトに追加することです。

+0

私はFragmentActivityを使用してクラスを拡張すると、コード内の次の場所にエラーがスローされます。... ExpandableListView elv = getExpandableListView(); setListAdapter(mAdapter); registerForContextMenu(getExpandableListView()); –

+0

"FragmentActivity"クラスを使ってアクティビティを拡張し、レイアウトファイルにExpandableListViewを定義することで修正しました。 –

0

我々はアンドロイドXML file.SoでExpandableListViewを表示することができ、フラグメント活動は、Android XMLでExpandableListViewを示して使用します。

+0

はい、すでに私のXMLレイアウトで定義しました。 –

0

javaでは、クラスは複数のクラスにまたがることはできません。しかし、Interfaceは複数のクラスを拡張することができます。

これは、複数のクラスを拡張し、そのクラスをクラスで使用するための方法です。

+0

あなたの情報をありがとう! –

関連する問題