我想在其groupView
上设置选择器,但当我点击groupView
上的选择器时,它会转到childView
中的expandable listview.
。
这是我的expandable listview
。
<ExpandableListView
android:id="@+id/lvLeft"
android:layout_width="280dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/white"
android:choiceMode="singleChoice"
android:dividerHeight="0dp"
android:listSelector="@drawable/group_indicator"
android:transcriptMode="alwaysScroll
/>
这是我的group_indication.xml。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/normal" android:state_expanded="true"></item>
<item android:drawable="@drawable/normal"></item>
</selector>
这是我的normal.xml。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/red" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
</shape>
实际上我想在展开式列表视图中的groupView
上设置自定义颜色,但是当我点击groupView
时,groupView
的{{1}}上的自定义颜色设置。我已附加屏幕截图我现在遇到的问题是,交易历史记录为childView
而我的交易是GroupView
。请帮我解决这个问题。提前致谢。
答案 0 :(得分:0)
我通过Prakash Gavade的回答解决了这个问题。 here is answer。在可扩展的listiview适配器中,我添加了以下代码。
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent)
{
TextView tvUserName = null;
ImageView imgMenuIcon = null;
View drawerView = convertView;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (groupPosition == 0)
{
drawerView = inflater.inflate(R.layout.profile_image, parent, false);
ImageView ivProfilePic = (ImageView) drawerView.findViewById(R.id.imgProfile);
tvUserName = (TextView) drawerView.findViewById(R.id.tvFname);
TextView tvLname = (TextView) drawerView.findViewById(R.id.tvLname);
}
else if(isExpanded){
convertView.setBackgroundResource(R.color.gray);
}
return drawerView;
}