2017-06-11 1 views
-1

Je fais un réveil donc je veux ouvrir le réglage en cliquant sur le parent du groupe dans la liste extensible mais rien ne se passe en cliquant sur le groupe. De plus, aucune des méthodes enfant comme getchildrencount ne fonctionne. Apprenez à connaître en déboguant. Voici mes fichiers. Ma vue de groupe fonctionne ou est visible.La méthode Chlid ne fonctionne pas dans BaseExpandable ListAdapter

fichier Adaptateur:

public ExpandableAdapter(Context ctx, ArrayList<ParentBean> parentlist, 
ArrayList<ChildBean> childlist){ 

    this.ctx = ctx; 
    this.parentlist = parentlist; 
    this.childlist = childlist; 
    map = new HashMap<>(); 
    for(ParentBean pb : parentlist){ 
     ; 

    map.put(pb,childlist); 
    Log.e("childliset",String.valueOf(childlist.size())); 
}} 
@Override 
public int getGroupCount() { 
    Log.d("problem","1"); 
    for(ParentBean b : parentlist){ 
     Log.e("parentlist",b.toString()); 
    } 

    return parentlist.size(); 
} 

@Override 
public int getChildrenCount(int groupPosition) { 
    Log.e("problem", "30"); 
    Log.e("childlist",String.valueOf(childlist.size())); 

    return map.get(groupPosition).size(); 
} 

@Override 
public Object getGroup(int groupPosition) { 
    Log.e("problem2 ", parentlist.get(groupPosition).toString()); 
    Log.e("groupPosition",String.valueOf(groupPosition)); 
    return parentlist.get(groupPosition); 
} 

@Override 
public Object getChild(int groupPosition, int childPosition) { 
    Log.e("problem3",childlist.get(childPosition).toString()); 
    return childlist.get(childPosition); 
} 

@Override 
public long getGroupId(int groupPosition) { 
    Log.e("problem4",String.valueOf(groupPosition)); 
    return groupPosition; 
} 

@Override 
public long getChildId(int groupPosition, int childPosition) { 
    Log.e("problem4",String.valueOf(childPosition)); 
    return childPosition; 
} 

@Override 
public boolean hasStableIds() { 
    return false; 
} 

@Override 
public View getGroupView(int groupPosition, boolean isExpanded, View 
convertView, ViewGroup parent) { 

    ParentBean header = (ParentBean) this.getGroup(groupPosition); 

     if(convertView == null){ 
      LayoutInflater inflater = (LayoutInflater) 
this.ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = inflater.inflate(R.layout.parent_view,null); 
     } 
     Log.e("Mision2",header.toString()); 
     TextView alarm_time = 
    (TextView)convertView.findViewById(R.id.alarm_time); 
    if(header.getHour()>=12){ 
     header.setHour(header.getHour()-12); 
    }if(header.getHour()<10){ 
     alarm_time.setText("0"+header.getHour()+" : "+header.getMinute()); 
    }else{ 
    alarm_time.setText("0"+header.getHour()+" : "+header.getMinute());} 

    TextView date = (TextView)convertView.findViewById(R.id.date); 
    if(header.getDate()<10){ 
     date.setText("0"+header.getMonth()+"-"+header.getDate()+"- 
    "+header.getMinute()); 
    }else { 
     date.setText(header.getMonth() + "-" + header.getDate() + "-" + 
header.getMinute()); 
    } 



    Log.e("mission ", "possible"); 
    return convertView; 
} 

@Override 
    public View getChildView(int groupPosition, int childPosition, boolean 
isLastChild, View convertView, ViewGroup parent) { 

    Log.e("mission","impossible"); 
    ChildBean footer = 
(ChildBean)this.getChild(groupPosition,childPosition); 
    if (convertView==null){ 
     LayoutInflater inflater = 
(LayoutInflater)this.ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.child_view,parent,false); 

    } 







    return convertView; 
} 

Xml vue enfant fichier:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


    <CheckBox 
    android:id="@+id/checkBox" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="13dp" 
    android:layout_alignParentTop="true" 
    android:layout_toRightOf="@+id/song_name" 
    android:layout_toEndOf="@+id/song_name" 
    android:layout_marginLeft="41dp" 
    android:layout_marginStart="41dp" /> 

    <TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="16dp" 
    android:text=" Song: " 
    android:layout_marginLeft="11dp" 
    android:layout_marginStart="11dp" 
    android:layout_alignBottom="@+id/song_name" 
    android:layout_toRightOf="@+id/imageView" 
    android:layout_toEndOf="@+id/imageView" /> 

    <ImageView 
    android:id="@+id/imageView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="20dp" 
    android:layout_marginStart="20dp" 
    app:srcCompat="@drawable/song_icon" 
    android:layout_alignBottom="@+id/textView2" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

    <TextView 
    android:id="@+id/song_name" 
    android:layout_width="80dp" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="12dp" 
    android:layout_marginStart="12dp" 
    android:textSize="16dp" 
    android:text="TextView" 
    android:layout_alignBaseline="@+id/checkBox" 
    android:layout_alignBottom="@+id/checkBox" 
    android:layout_toRightOf="@+id/textView2" 
    android:layout_toEndOf="@+id/textView2" /> 

    <TextView 
    android:id="@+id/textView4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Vibrate" 
    android:textSize="16dp" 
    android:layout_alignLeft="@+id/checkBox" 
    android:layout_alignStart="@+id/checkBox" 
    android:layout_marginLeft="41dp" 
    android:layout_marginStart="41dp" 
    android:layout_alignTop="@+id/song_name" /> 

<ImageButton 
    android:id="@+id/imageButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:srcCompat="@drawable/delete" 
    android:layout_marginTop="11dp" 
    android:layout_below="@+id/checkBox" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginLeft="13dp" 
    android:layout_marginStart="13dp" /> 

    <TextView 
    android:id="@+id/textView5" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignTop="@+id/imageButton" 
    android:layout_marginLeft="10dp" 
    android:layout_marginStart="10dp" 
    android:layout_marginTop="11dp" 
    android:textSize="16dp" 
    android:layout_toEndOf="@+id/imageButton" 
    android:layout_toRightOf="@+id/imageButton" 
    android:text="Delete" /> 
    </RelativeLayout> 

Répondre

0

tout le monde qui cherche la réponse de la question ci-dessus. En fait, les méthodes enfant fonctionnent lorsque vous cliquez sur l'affichage du groupe. Dans mon cas, je dois ajouter

android: descendantFocusability = "blocksDescendants"

cette déclaration dans ma mise en page de parent de parent_view.xml