0

別のアクティビティを拡張する必要があるアクティビティが既に確立されているため、ListActivity を拡張するのではなく、既存のアクティビティでコモンウェアのドラッグ アンド ドロップ TouchListView クラスを使用したいと考えています。ただし、これを行う方法の例が見つかりません。私のアクティビティのxmlには、次のものを含めました:

<com.test.dragdrop.TouchListView
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tlv="http://schemas.android.com/apk/res/com.test.activities" 
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:drawSelectorOnTop="false"
            tlv:normal_height="64dip"
            tlv:expanded_height="128dip"
            tlv:grabber="@+id/icon"
            tlv:remove_mode="slideRight"
                    android:layout_centerHorizontal="true" 
                    android:layout_centerVertical="true" 
                    android:layout_below="@id/menu_bar_top_include"
                    android:layout_above="@id/footerbar_lists"
                    android:cacheColorHint="#0000" 
                    android:paddingTop="2dip"/>

さて、これをアクティビティコードで動的に作成する方法がわかりません。コードを onCreate() に配置し、RelativeLayout ラッパーを作成し、TouchListView クラスをその中に配置する必要があると思いますが、カスタム ビュー クラスに関してはいつになるかわかりません。

注:私も単純に使用しようとしました:

TouchListView tlv = (TouchListView) findViewById(R.id.list);

しかし、コンパイラ エラーが発生します:
--- 何らかの理由でコンパイラが "R.id.list" を見つけることができません --- これはカスタム ビュー内にあるためですか? これを指定する必要がある他の方法はありますか?

4

1 に答える 1

1

TouchListView通常のアクティビティで使用することは、通常のアクティビティで使用することと同じListViewです。あなたがすることはfindViewById()、 ListView を取得するために呼び出しsetAdapter()ListView必要なものをそれに関連付けるために呼び出すListAdapterことだけです。

于 2012-01-05T12:20:37.463 に答える