2016-05-25 6 views
1

Я хочу установить селектор на его groupView, но когда я нажимаю на селектор groupView он идет к childView в expandable listview.. Вот мой expandable listview.Как установить селектор в расширяемой listivew на группах в андроиде

 <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 в расширяемой ListView, но когда я нажимаю на groupView, пользовательский набор цветов на groupView «s childView. У меня есть скриншот, с которым я сталкиваюсь сейчас, когда история транзакций GroupView, а моя транзакция - childView. Пожалуйста, помогите мне решить эту проблему. Заранее спасибо. enter image description here

ответ

0

Я решил проблему по решению Пракаша Гаваде. 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; 
    } 

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

  • Нет связанных вопросов^_^