android在ExpandableListView中改变组的颜色

时间:2012-11-02 04:25:59

标签: android expandablelistview

我正在尝试使用我已创建的可展开列表视图,并更改组列表中某个项目的背景颜色。我只想更改主列表中条目的颜色,而不是其下拉子项,也就是您单击以展开或隐藏其他部分的部分。我认为getGroupView会这样做,但我无法弄清楚如何使这项工作。如果这是正确的使用方法,有人可以解释如何使用它吗?如果有更好的方法,它是什么?

[编辑]我玩了一些,并想出了如何使用getGroupView,但我仍然有问题。我对我的理解所做的只是改变单个条目的颜色,而是改变它们。这是代码:

    View listViewRow = findViewById(R.layout.menu_item);
    listViewRow = myNewAdapter.getGroupView(2, false, listViewRow, expandView);
    listViewRow.setBackgroundColor(Color.RED);

其中menu_item是我用于可扩展列表中的组的布局文件的名称,expandView是expandableListView。

3 个答案:

答案 0 :(得分:0)

在扩展的BaseExpandableListAdapter类

中尝试使用它
public View getGroupView(int groupPosition, boolean isExpanded,
    View convertView, ViewGroup parent) {

   if (convertView == null) {
    LayoutInflater inflater =  (LayoutInflater) myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    convertView = inflater.inflate(R.layout.group_row, null);
   }

   TextView tvGroupName = (TextView) convertView.findViewById(R.id.tvGroupName);
   tvGroupName.setText(list.get(groupPosition).getYear() +" COLLECTION");

   return convertView;
  }

OR refrer this

答案 1 :(得分:0)

试试这个

  • 如果您想更改headerlist.xml中标题列表更改的颜色

     <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:padding="8dp"
      android:orientation="vertical"
     android:background="@color/colorRed">
    </LinearLayout>
    

    - 如果您想更改childlist.xml中的子列表更改颜色

     <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
      android:layout_height="55dip"
    
     android:layout_marginLeft="@dimen/_15dp"
    </RelativeLayout>
    

答案 2 :(得分:-3)

将此行放在要显示其他颜色的位置:

- android:textColor="#a60704"

用任何颜色代替:

- #a60704