Android ExpandableListActivity проблема - PullRequest
0 голосов
/ 16 июня 2009

Я хочу настроить свой ExpandableList. Моя проблема в том, что мне нужна кнопка и расширяемый список для одного действия. Могу ли я достичь этого? Я видел все примеры, но все они расширяют ExpandableListActivity, а не Activity, в которой я могу поместить все виджеты в одно действие. Любая помощь будет оценена.

1 Ответ

4 голосов
/ 16 июня 2009

Согласно документации эта задача не должна быть слишком сложной.

Первое, что вам нужно сделать, - это создать новый 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".

Следующее, что вам нужно будет сделать, это сообщить вашей активности, что вы используете пользовательский макет, вызвав setContentView () в ваших действиях onCreate (). Звонок должен выглядеть примерно так

setContentView(R.layout.my_custom_expandable_list_view_layout);

В этот момент вы сможете запустить свою программу и увидеть большую кнопку в нижней части экрана. Чтобы сделать что-то с этой кнопкой, вам нужно получить к ней доступ через вызов findViewById () в вашей активности, подобной этой

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

Если у вас есть объект myButton, вы можете добавить прослушиватель щелчков или все, что вы хотели бы сделать. Вы можете добавить все, что захотите, просто добавив новые элементы в файл макета.

...