Note that there are some explanatory texts on larger screens.

plurals
  1. POwhy getchild method in BaseExpandableListAdapter calling two times from each child?
    primarykey
    data
    text
    <p>I am using BaseExpandableListAdapter for displaying data is expandable list view. I have a scenario where I have to pop and push childs in groups. But unfortunately getchild method is calling two times for each child so I can not remove them because it give index out of range exception. Am I missing any thing important?</p> <pre><code>import android.content.Context; import android.graphics.Typeface; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.EditText; import android.widget.TextView; public class adpFolderWithTaskDone extends BaseExpandableListAdapter { private Context _context; private List&lt;clsTaskDoneDates&gt; _listDataHeader; // header titles SimpleDateFormat dateFormat1 = new SimpleDateFormat("EEE MMM dd"); SimpleDateFormat dateFormat2 = new SimpleDateFormat("HH:mm"); // child data in format of header title, child title private HashMap&lt;clsTaskDoneDates, List&lt;clsTasks&gt;&gt; _listDataChild; int i=0; int j=0; public ArrayList&lt;View&gt; ChildIds=new ArrayList&lt;View&gt;(); Typeface tf ; public adpFolderWithTaskDone(Context context, List&lt;clsTaskDoneDates&gt; listDataHeader, HashMap&lt;clsTaskDoneDates, List&lt;clsTasks&gt;&gt; listChildData) { this._context = context; this._listDataHeader = listDataHeader; this._listDataChild = listChildData; tf = Typeface.createFromAsset(context.getApplicationContext().getAssets(), "font/HelveticaNeueLTStd-LtEx.otf"); } @Override public Object getChild(int groupPosition, int childPosititon) { return this._listDataChild.get(this._listDataHeader.get(groupPosition)) .get(childPosititon); } @Override public long getChildId(int groupPosition, int childPosition) { return childPosition; } @Override public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { final clsTasks childText = (clsTasks) getChild(groupPosition, childPosition); if (convertView == null) { LayoutInflater infalInflater = (LayoutInflater) this._context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = infalInflater.inflate(R.layout.list_tasks_done, null); } TextView txtListChild = (TextView) convertView .findViewById(R.id.lblListItemDone); txtListChild.setText(childText.getDescription()); EditText txtTaskId = (EditText) convertView .findViewById(R.id.TaskIdDone); txtTaskId.setText(Integer.toString(childText.getTaskId())); TextView lblTaskTime = (TextView) convertView.findViewById(R.id.lblTaskDueTimeDone); if (childText.getTaskDate()==null) { //lblTaskTime.setText("Today"); } else { lblTaskTime.setText( dateFormat1.format(childText.getTaskDate()) + " at " + dateFormat2.format(childText.getTaskDate()) ); } if(ChildIds.contains(convertView)==false) { ChildIds.add(convertView); } txtListChild.setTypeface(tf, Typeface.NORMAL); lblTaskTime.setTypeface(tf, Typeface.NORMAL); return convertView; } @Override public int getChildrenCount(int groupPosition) { return this._listDataChild.get(this._listDataHeader.get(groupPosition)) .size(); } @Override public Object getGroup(int groupPosition) { return this._listDataHeader.get(groupPosition); } @Override public int getGroupCount() { return this._listDataHeader.size(); } @Override public long getGroupId(int groupPosition) { return groupPosition; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { clsTaskDoneDates headerTitle = (clsTaskDoneDates) getGroup(groupPosition); if (convertView == null) { LayoutInflater infalInflater = (LayoutInflater) this._context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = infalInflater.inflate(R.layout.list_folder_done, null); } TextView lblListHeader = (TextView) convertView .findViewById(R.id.folderNameDone); lblListHeader.setTypeface(tf, Typeface.NORMAL); lblListHeader.setText(dateFormat1.format(headerTitle.getTaskDate())); TextView lblFolderId = (TextView) convertView .findViewById(R.id.CurrentfolderIdDone); lblFolderId.setText(dateFormat1.format(headerTitle.getTaskDate())); return convertView; } @Override public boolean hasStableIds() { return false; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload