2009-06-16 10 views
0

ExpandableListをカスタマイズしたいと思います。私の問題は、単一のアクティビティでボタンと拡張可能なリストが必要なことです。それを達成することはできますか?すべての例を見てきましたが、ExpandableListActivityはすべてのウィジェットを1つのアクティビティーに入れることができるアクティビティーではありません。 ご協力いただければ幸いです。Android ExpandableListActivityの問題

+0

私は通常のリストビューでそれを行っていますが、それは完全にうまく動作しますが、ExpandableListではうまく動作しません.... – Sam97305421562

答えて

4

documentationによると、この作業はそれほど難しくありません。

最初に行う必要があることは、カスタムレイアウトを保持する新しい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が含まれていることである:ファイルが、それは次のようになりますあなたのres /レイアウトフォルダに保存されなければならないと「my_custom_expandable_list_view_layout.xml」のようなものを命名します

次に、あなたのアクティビティonCreate()でsetContentView()を呼び出してカスタムレイアウトを使用していることをアクティビティに知らせることです。このように見えるはずです

setContentView(R.layout.my_custom_expandable_list_view_layout); 

この時点で、プログラムを実行して画面の下部に大きなボタンが表示されるはずです。あなたはmyButtonのは、あなたがクリックリスナーを追加することができたり、他のものは何でもしたいオブジェクトのことをしたら、このボタンで何かをするためには、この

Button myButton = (Button)findViewById(R.id.my_button_id); 

ようなあなたの活動にfindViewById()に呼び出しを介してアクセスする必要があります。行う。レイアウトファイルに新しいものを追加するだけで、あなたが望むものを追加することができます。