Java 当父组已展开以显示其子组时,如何更改图标

Java 当父组已展开以显示其子组时,如何更改图标,java,android,android-layout,expandablelistview,Java,Android,Android Layout,Expandablelistview,我有一个可展开的列表视图,我想在单击父组并显示子组时,将图标从右向箭头更改为下向箭头。当前,当我单击父组展开并显示子组时,图标不会从右箭头更改为下箭头,而是保持为右箭头图标。这是我目前在可检测适配器中的配置 @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {

我有一个可展开的列表视图,我想在单击父组并显示子组时,将图标从右向箭头更改为下向箭头。当前,当我单击父组展开并显示子组时,图标不会从右箭头更改为下箭头,而是保持为右箭头图标。这是我目前在可检测适配器中的配置

@Override
   public View getGroupView(int groupPosition, boolean isExpanded,
                            View convertView, ViewGroup parent) {
      String headerTitle = getGroup(groupPosition).toString();
      if (convertView == null) {
         LayoutInflater infalInflater = (LayoutInflater) this._context
               .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
         convertView = infalInflater.inflate(R.layout.list_group, null);



         ImageView arrowImageView = (ImageView) convertView.findViewById (R.id.group_header_arrow);
         if (isExpanded) {
            arrowImageView.setImageResource(R.drawable.arrow_down);
           (ApplicationContext.Activity.Resources.GetColor (Resource.Color.standard_blue));
         }


      }
      TextView lblListHeader = (TextView) convertView
            .findViewById(R.id.lblListHeader);

      lblListHeader.setText(headerTitle);
      TextView Header = (TextView) convertView
            .findViewById(R.id.lblListHeader);

      lblListHeader.setText(headerTitle);
      return convertView;
   }
组头的XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:orientation="vertical"
              android:padding="8dp"
              android:background="#f4f4f4">


   <ImageView
      android:id="@+id/group_header_arrow"
      android:src="@drawable/arrow_right"
      android:layout_centerVertical="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:paddingRight="10dp" />

   <TextView
      android:id="@+id/lblListHeader"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
      android:textSize="17dp"
      android:textColor="#388C2A" />

</LinearLayout>

使用这个

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_empty="true" android:drawable="@drawable/right_indicator"/>
<item android:state_expanded="true" android:drawable="@drawable/left_indicator" />
<item android:drawable="@drawable/right_indicator" />


保存在Drawable中,

在适配器类中添加此代码

    final ExpandableListView mExpandableListView= (ExpandableListView) parent ;

    mExpandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {

        @Override
        public void onGroupExpand(int groupPosition) {
            arrowImageView.setImageResource(R.drawable.arrow_down);
        }
    });

    mExpandableListView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {

        @Override
        public void onGroupCollapse(int groupPosition) {
            arrowImageView.setImageResource(R.drawable.arrow_left);
        }
    });

    if(mExpandableListView.isGroupExpanded(groupPosition))
    {
       arrowImageView.setImageResource(R.drawable.arrow_down);
    }
    else
    {
       arrowImageView.setImageResource(R.drawable.arrow_left);
    }