我正在ExpandableListActivity
与ExpandListAdapter
.
我的布局:
---------------------------------
| <TextView> |
| |
|-------------------------------|
| <ExpandableList> | |
| group1 | |
| child1: textView editText | |
| child2: textView switch | |
| group2 | |
| child1: textView textView | |
|-------------------------------|
| <footerView> |
| [button] |
---------------------------------
这是我的 child_layout (删除了不必要的部分):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/tvChild"
android:layout_width="400px"
android:layout_height="wrap_content"
android:focusable="false" />
<EditText
android:id="@+id/etChild"
android:layout_width="400px"
android:layout_height="wrap_content"
android:visibility="gone" />
<TextView
android:id="@+id/tvChild2"
android:layout_width="600px"
android:layout_height="wrap_content"
android:visibility="gone" />
<Switch
android:id="@+id/switchChild"
android:layout_width="400px"
android:layout_height="wrap_content"
android:textOff="NO"
android:textOn="YES"
android:visibility="gone" />
</LinearLayout>
这就是我向每个孩子添加按钮、开关或 textView 的方式:
Switch swc = (Switch) view.findViewById(R.id.switchChild);
EditText etc = (EditText) view.findViewById(R.id.etChild);
TextView tvc = (TextView) view.findViewById(R.id.tvChild2);
if (groupPosition == 0) {
swc.setVisibility(View.GONE);
tvc.setVisibility(View.GONE);
etc.setVisibility(View.GONE);
if (childPosition == 0)
etc.setVisibility(View.VISIBLE);
if (childPosition == 1)
etc.setVisibility(View.VISIBLE);
if (childPosition == 2) {
tvc.setVisibility(View.VISIBLE);
tvc.setText(GlobalVariables.currentSelectedCar);
}
}
因此,每个孩子都有一个TextView
不会改变的,加上其中一个EditText/TextView/Switch
可由用户编辑。当我单击底部的按钮时,我想获得每个孩子的可编辑项目值。