I am developing an Expandablelistview on Android.
GroupView has only a title, and each group has a different ChildView.
This code works fine, and I can see different ChildViews in each Group item.
In ChildView, I have an EditText, and when I click the done button, I want to get all the EditText and Spinner values ββthat are the user inputs.
When I click the Finish button at this time, I want to get information that is filled in by the user in the elements of the Customer Location group, etc.
Example: image indicated in the question. I want to get input data that is populated by the user in the vehicle element and TEST .
Please, I need help, I want to get the values ββthat are filled in by the user in each child of the EditText group.
Here is my code:
MainActivity.java
public class MainActivity extends Activity { Context mContext; private ExpandableListView mExpandableListView; CustomAdapter mCustomAdapter; ArrayList<String> newCalibration = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mContext = MainActivity.this; newCalibration.add("CUSTOMER"); newCalibration.add("LOCATION"); newCalibration.add("VEHICLE"); newCalibration.add("TEST"); newCalibration.add("ABC");
CustomAdapter.java
public class CustomAdapter extends BaseExpandableListAdapter { private LayoutInflater layoutInflater; /* list of parent */ private ArrayList<String> mParents; public CustomAdapter(Context context, ArrayList<String> parents) { super(); this.mParents = parents; layoutInflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public Object getChild(int parentPosition, int childPosition) { return null; } @Override public long getChildId(int parentPosition, int childPosition) { // TODO Auto-generated method stub return childPosition; } @Override public View getChildView(int parentPosition, int childPosition, boolean b, View convertView, ViewGroup viewGroup) { if (convertView == null) { convertView = layoutInflater .inflate(R.layout.list_item_child, null); } EditText mEdTxt_1 = (EditText) convertView.findViewById(R.id.edtxt_1); EditText mEdTxt_2 = (EditText) convertView.findViewById(R.id.edtxt_2); EditText mEdTxt_3 = (EditText) convertView.findViewById(R.id.edtxt_3); EditText mEdTxt_4 = (EditText) convertView.findViewById(R.id.edtxt_4); EditText mEdTxt_5 = (EditText) convertView.findViewById(R.id.edtxt_5); RelativeLayout relativeLayout = (RelativeLayout) convertView .findViewById(R.id.relativeLayout); mEdTxt_1.setVisibility(View.VISIBLE); mEdTxt_2.setVisibility(View.VISIBLE); mEdTxt_3.setVisibility(View.VISIBLE); mEdTxt_4.setVisibility(View.VISIBLE); mEdTxt_5.setVisibility(View.VISIBLE); relativeLayout.setVisibility(View.VISIBLE); if (mParents.get(parentPosition).equals("CUSTOMER")) { mEdTxt_4.setVisibility(View.GONE); mEdTxt_5.setVisibility(View.GONE); relativeLayout.setVisibility(View.GONE); } else if (mParents.get(parentPosition).equals("LOCATION")) { mEdTxt_4.setVisibility(View.GONE); mEdTxt_5.setVisibility(View.GONE); relativeLayout.setVisibility(View.GONE); } else if (mParents.get(parentPosition).equals("VEHICLE")) { relativeLayout.setVisibility(View.GONE); } else if (mParents.get(parentPosition).equals("TAXIMETER/BCT")) { mEdTxt_3.setVisibility(View.GONE); mEdTxt_4.setVisibility(View.GONE); mEdTxt_5.setVisibility(View.GONE); } else if (mParents.get(parentPosition).equals("TIRE SPECS")) { mEdTxt_4.setVisibility(View.GONE); mEdTxt_5.setVisibility(View.GONE); relativeLayout.setVisibility(View.GONE); } return convertView; } @Override public int getChildrenCount(int parentPosition) { return 1; } @Override public Object getGroup(int parentPosition) { // TODO Auto-generated method stub return mParents.get(parentPosition); } @Override public int getGroupCount() { // TODO Auto-generated method stub return mParents.size(); } @Override public long getGroupId(int parentPosition) { // TODO Auto-generated method stub return parentPosition; } @Override public View getGroupView(int parentPosition, boolean isExpanded, View convertView, ViewGroup viewGroup) { TextView groupName = null; String parent = (String) getGroup(parentPosition); if (convertView == null) { convertView = layoutInflater.inflate(R.layout.list_item_parent, null); } groupName = (TextView) convertView.findViewById(R.id.txt_parentname); groupName.setText(parent); return convertView; } @Override public boolean hasStableIds() { return true; } @Override public boolean isChildSelectable(int i, int i1) { return true; } }
list_item_child.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/item_child" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/edtxt_1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:inputType="text" /> <EditText android:id="@+id/edtxt_2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:inputType="text" /> <EditText android:id="@+id/edtxt_3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:inputType="text" /> <EditText android:id="@+id/edtxt_4" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:inputType="text" /> <EditText android:id="@+id/edtxt_5" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:inputType="text" /> <RelativeLayout android:id="@+id/relativeLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioGroup android:id="@+id/radio_group" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="Radio 1" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Radio 2" /> </RadioGroup> <TextView android:id="@+id/txt_childname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/radio_group" android:text="TaxiMeter ?" android:textAppearance="?android:attr/textAppearanceSmall" /> <Switch android:id="@+id/switch1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@+id/radio_group" android:text="Switch" /> </RelativeLayout> </LinearLayout>
Images: 

Thanks!