別のアクティビティを拡張する必要があるアクティビティが既に確立されているため、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" を見つけることができません --- これはカスタム ビュー内にあるためですか? これを指定する必要がある他の方法はありますか?