0

プログラムでExpandableListActivityを使用しようとしていますが、クラスでTabActivityを既に継承しています。多重継承を行うことができず、プログラムでExpandableListViewとTabsの両方を使用する必要があります。ここhttp://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/ExpandableList1.htmlでExpandableListViewのGoogleのコードを確認しました。

しかし、ここでは、クラスでTabActivityを既に継承しているため、ExpandableListActivityを継承しています。

クラスでListActivityを継承せずにListViewを使用できることを認識しています。ExpandableListViewクラスでも同じことができますか?もしそうなら、誰かがアクティビティを継承せずにExtendableListViewを使用するためのサンプルコードを私に提供できますか?

4

1 に答える 1

2

ExpandableListViewを拡張するカスタムビューを作成し、TabActivity内で使用できます。

展開可能なリストビュー

  public class CustomExpListView extends ExpandableListView{
          /** Your code **/
     }

タブをホストする主なアクティビティ

public class MyTabActivity extends TabActivity{
    private TabHost tabhost;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          tabHost = getTabHost();
          tabHost.addTab(tabHost
                .newTabSpec("Tab 1")
                .setIndicator("Tab 1",
                        this.getResources().getDrawable(
                                R.drawable.tab_icon))
                .setContent(new Intent(this, Tab1.class)));

      /** Further code**/
    }
  }

expリストを含むタブのXMLレイアウトファイル(タブ1)

/**Other layout stuff goes here**/
<com.jmango.nexus.view.ProductListView
        android:layout_width="fill_parent"
                    android:layout_height="wrap_content" 
                    android:groupIndicator="@drawable/group_indicator"
        android:childIndicator="@drawable/child_indicator"
        android:cacheColorHint="#00000000" 
                    android:divider="#00BBFF"
                    android:childDivider="@android:drawable/divider_horizontal_dark"
        android:smoothScrollbar="true"
        android:id="@+id/exp_list_view"/>

expリストのあるタブのクラス

CustomExpListView custExpListView = (CustomExpListView) this
            .findViewById(R.id.exp_list_view);

リスナーを拡張してカスタマイズすることもできます。

それが役に立てば幸い!

于 2012-06-04T11:36:36.877 に答える