android - EditText inside ExpandableListView is not expanding the childs -
i have created expandablelistview
following tutorial http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/ working fine. there have 2 textview
in parent group. when adding edittext
in parent group it's showing in listview
after clicking on parent it's not expanding. assume it's due focus
on edittext
.
please find way focus
on parent item clicking expands , shows child items. on other hand when try write in edittext
should focus on without expanding listview
.
here code:
package com.sifb.icms.sit.application.adapter; import java.util.arraylist; import java.util.hashmap; import java.util.list; import com.sifb.icms.sit.r; import com.sifb.icms.sit.object.object_cateringmenu; import android.content.context; import android.graphics.color; 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 expandablelistadapter_cateringmenu extends baseexpandablelistadapter { private context _context; private list<object_cateringmenu> _listdataheader; // header titles // child data in format of header title, child title private hashmap<string, string> _listdatachild; public expandablelistadapter_cateringmenu(context context, arraylist<object_cateringmenu> listdataheader, hashmap<string, string> listchilddata) { this._context = context; this._listdataheader = listdataheader; this._listdatachild = listchilddata; } @override public object getchild(int groupposition, int childposititon) { return this._listdatachild.get(this._listdataheader.get(groupposition).getcategorychoice()); } @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 string childtext = (string) getchild(groupposition, childposition); if (convertview == null) { layoutinflater infalinflater = (layoutinflater) this._context .getsystemservice(context.layout_inflater_service); convertview = infalinflater.inflate(r.layout.list_cateringmenu_description, null); } textview txtlistchild = (textview) convertview .findviewbyid(r.id.tvdescription); txtlistchild.settext(childtext); return convertview; } @override public int getchildrencount(int groupposition) { return 1; } @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) { object_cateringmenu objgroup = (object_cateringmenu) getgroup(groupposition); if (convertview == null) { layoutinflater infalinflater = (layoutinflater) this._context .getsystemservice(context.layout_inflater_service); convertview = infalinflater.inflate(r.layout.list_cateringmenu, null); } textview lbllistheadercat = (textview) convertview .findviewbyid(r.id.tvcategorychoice); lbllistheadercat.settypeface(null, typeface.bold); lbllistheadercat.settext(objgroup.getcategorychoice()); textview lbllistheaderratio = (textview) convertview .findviewbyid(r.id.tvratio); lbllistheaderratio.settypeface(null, typeface.bold); lbllistheaderratio.settext(objgroup.getratio()); return convertview; } @override public boolean hasstableids() { return false; } @override public boolean ischildselectable(int groupposition, int childposition) { return true; } }
layout
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/svparent" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <textview android:id="@+id/tvtitle" style="@style/tvtitletext" android:text="@string/cateringmenu_title" /> <include android:id="@+id/include_cateringmenu_header" layout="@layout/list_cateringmenu_header" /> <expandablelistview android:id="@+id/elvcateringmenu" android:layout_width="match_parent" android:layout_height="match_parent" android:groupindicator="@android:color/transparent" android:descendantfocusability="beforedescendants" android:layout_margintop="10dp" /> </linearlayout>
parent listview
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/rlparent" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightsum="1" > <textview android:id="@+id/tvcategorychoice" style="@style/tvcateringmenu" android:layout_marginleft="10dp" android:layout_marginright="20dp" android:layout_weight="0.5" /> <textview android:id="@+id/tvratio" style="@style/tvcateringmenu" android:layout_weight="0.2" /> <edittext android:id="@+id/etmealuplift" style="@style/etcateringmenumealuplift" android:layout_weight="0.3" /> </linearlayout>
Comments
Post a Comment