powinny mieć klasę posiadające wszystkie zaimplementowane metody ExpandableListAdapter
jak ChildItemsInfo
klasa i klasa GroupItemsInfo
, z MainActivity
mającą detektory kliknięć do grupowania elementów i ich dzieci
... teraz być bardziej szczegółowe ...
można umieścić wewnątrz getGroupView()
to, że jest w środku MyExpandableListAdapter
klasa
View ind = convertView.findViewById(R.id.group_indicator);
View ind2 = convertView.findViewById(R.id.group_indicator2);
if (ind != null)
{
ImageView indicator = (ImageView) ind;
if (getChildrenCount(groupPosition) == 0)
{
indicator.setVisibility(View.INVISIBLE);
}
else
{
indicator.setVisibility(View.VISIBLE);
int stateSetIndex = (isExpanded ? 1 : 0);
/*toggles down button to change upwards when list has expanded*/
if(stateSetIndex == 1){
ind.setVisibility(View.INVISIBLE);
ind2.setVisibility(View.VISIBLE);
Drawable drawable = indicator.getDrawable();
drawable.setState(GROUP_STATE_SETS[stateSetIndex]);
}
else if(stateSetIndex == 0){
ind.setVisibility(View.VISIBLE);
ind2.setVisibility(View.INVISIBLE);
Drawable drawable = indicator.getDrawable();
drawable.setState(GROUP_STATE_SETS[stateSetIndex]);
}
}
}
... a co do widoku układu, to jest jak mój group_items. XML wydaje się być wystarczająco
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/group_heading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:textSize="15sp"
android:textStyle="bold"/>
<ImageView
android:id="@+id/group_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/arrow_down_float"
android:layout_alignParentRight="true"
android:paddingRight="20dp"
android:paddingTop="20dp"/>
<ImageView
android:id="@+id/group_indicator2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/arrow_up_float"
android:layout_alignParentRight="true"
android:visibility="gone"
android:paddingRight="20dp"
android:paddingTop="20dp"/>
jasne ?, skomentować ilekroć
Co to są "groupItem' i" childItem'. Co to jest NewAdapter i jak radzi sobie z 'groupItem' i' childItem', aby niektóre elementy można było rozszerzyć? Twoja odpowiedź jest niekompletna. –
groupItem jest tablicą zawierającą ciągi znaków dla każdej z opcji grupy. "TopView 2" w powyższej grafice. childItem to macierz/hashmap zawierający listę elementów, które mają zostać usunięte po wybraniu każdego z elementów grupy. NewAdapter przypisuje wartości zbiorów danych groupItem i childItem do widoków, gdy nadmuchuje posiadacza każdego przedmiotu. – AlleyOOP