我需要Android ExpandListView的帮助。
我的孩子视图看起来像这样:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/myTextView"
android:layout_toLeftOf="@+id/toggle"/>
<ToggleButton
android:id="@+id/toggle"
android:layout_width="wrap_content"
android:textOn="Yes"
android:textOff="No"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myEditText"
android:layout_below="@+id/toggle"/>
我将大量数据传递给我的适配器,例如:
List<String> adapterData = new ArrayList<String>();
adapterData.add("Example 1");
adapterData.add("Example 2");
adapterData.add("Example 3");
问题是目前我的editText出现在使用适配器初始化的每个TextView下。
我的要求是editText应该在所有行之后的最后一行(每行左边有一个TextView,右边有TottleButton)。
我试过这样做:
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
...............
if (childPosition ==3) {
et1.setVisibility(View.VISIBLE);
..............
}
}
请帮忙。
答案 0 :(得分:0)
if(groupPosition ==(yourArrayList.size() - 1)&amp;&amp;&amp; isLastChild){
editText.setVisibility(View.VISIBLE); }
将此代码放在ExpandableListAdapter的getChildView(...)方法中。 编辑:最初设置EditText.setVisibility(INVISIBLE)的可见性。当您展开列表视图时,即在您编写了行扩展的方法中,设置EditText.setVisibility(View.VISIBLE)