ExpandableList をカスタマイズしたい。私の問題は、単一のアクティビティにボタンと展開可能なリストが必要なことです。私はそれを達成できますか?すべての例を見てきましたが、すべてのウィジェットを 1 つのアクティビティに配置できるアクティビティではなく、ExpandableListActivity を拡張しています。どんな助けでも大歓迎です。
1 に答える
ドキュメントによると、このタスクはそれほど難しいものではありません。
最初に、カスタム レイアウトを保持する新しい xml ファイルを作成する必要があります。ファイルは res/layout フォルダーに保存され、「my_custom_expandable_list_view_layout.xml」のような名前が付けられます。次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ExpandableListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>
<Button android:id="@id/my_button_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Click Me"/>
</LinearLayout>
そのレイアウト ファイルのインポート部分は、「ExpandableListView」を含めて「android」リストの ID を指定することです。
次に行う必要があるのは、アクティビティの onCreate() でsetContentView()を呼び出して、カスタム レイアウトを使用していることをアクティビティに知らせることです。呼び出しは次のようになります
setContentView(R.layout.my_custom_expandable_list_view_layout);
この時点で、プログラムを実行できるようになり、画面の下部に大きなボタンが表示されるはずです。このボタンで何かを行うには、このようにアクティビティでfindViewById()を呼び出してアクセスする必要があります
Button myButton = (Button)findViewById(R.id.my_button_id);
myButton オブジェクトを取得したら、クリック リスナーを追加したり、その他の操作を実行したりできます。レイアウト ファイルに新しいものを追加するだけで、他に必要なものをほとんど追加できます。