2015-03-16 4 views
2

enter image description hereПользовательские группы расширения значок в ExpandableListView

Я пытаюсь использовать пользовательский значок для группы разворачивание и сворачивание состояние из ExpandableListView. Но это, похоже, не работает. Значки не изменяются, даже когда выходные сообщения работают последовательно.

explistView.setOnGroupClickListener(new OnGroupClickListener() 
    { 
     @Override 
     public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) 
     { 
      groupIndicator = (ImageView) findViewById(R.id.group_indicator); 
      if (parent.isGroupExpanded(groupPosition)) 
      { 
       System.out.println("1"); 
       parent.collapseGroup(groupPosition); 
       System.out.println("2"); 
       groupIndicator.setImageResource(R.drawable.expand_icon_35x35); 
       System.out.println("3"); 
       adapter.notifyDataSetChanged(); 
      } 
      else 
      { 
       System.out.println("4"); 
       parent.expandGroup(groupPosition); 
       System.out.println("5"); 
       groupIndicator.setImageResource(R.drawable.collapse_icon_35x35); 
       System.out.println("6"); 
       adapter.notifyDataSetChanged(); 
      } 
      return true; 
     } 
    }); 
+0

Вы установили setGroupIndicator (null)? – anju

+0

@anju Да, у меня есть. –

ответ

0

Вы можете обратиться к этой answer

Вы можете изменить значки с помощью следующих действий: -

<ExpandableListView android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_marginTop="10dp" 
     android:groupIndicator="@drawable/settings_selector" 
    /> 

и настройка селектора:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/up_arrow" android:state_empty="true"/> 
    <item android:drawable="@drawable/down_arrow" android:state_expanded="true"/> 
</selector> 
+0

Я уже использовал это, и он отлично работает, но значок растягивается. Поэтому я перешел к описанному выше методу. –

+0

@VeronikaGilbert попробуйте изменить размеры ваших значков до 32 * 32 dp –

+0

значок по-прежнему расширяется и не выглядит хорошо –

0

В моем случае, android: state_empty = "true" не работает. Итак, я изменил его на android: state_expanded = "false".

<ExpandableListView 
     android:id="@+id/expl" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:groupIndicator="@drawable/settings_selector"/> 

И

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/plus_arrow" android:state_expanded="true"/> 
    <item android:drawable="@drawable/minus_arrow" android:state_expanded="false"/> 
</selector> 

Я надеюсь, что это помогает.

Смежные вопросы