Как получить элемент от дочернего элемента в ExpandableListView?

У меня есть метод onChildClick в моем приложении, это мой код

public class listview extends ExpandableListActivity {

 private static final String NAME = "NAME";
 private static final String IS_EVEN = "IS_EVEN";
 private ExpandableListAdapter mAdapter;
 List<Map<String, String>> groupData = new ArrayList<Map<String, String>>();
 List<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>();
 InputStream is;
 boolean addState = true;
 boolean addCountry;
 HashMap<String, String> countryMap = new HashMap<String, String>();
 HashMap<String, String> stateMap = new HashMap<String, String>();
 int count = 0;
 int count1 = -1;
 int count2 = 0;
 List<String> stateCount = new ArrayList<String>();

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  // Reading data from text file to inout stream
  is = this.getResources().openRawResource(R.raw.countrystate);
  BufferedReader reader = new BufferedReader(new InputStreamReader(is));
  try {
   String line = "";
   while ((line = reader.readLine()) != null) {
    String[] strings = line.split("-");
    String ctry = strings[0].trim();
    String st = strings[1].trim();
    /*
     * loading country and state to two separate hash tables
     */
    if (countryMap.containsValue(ctry)) {
     addCountry = false;
     if (!addState) {
      stateMap.put("state" + count1 + count2, st);
      count2++;
     }
    } else {
     addCountry = !addCountry;
     count1++;
     //adding no. of states for a country to a list
     stateCount.add("" + count2);
     if (addCountry) {
      count2 = 0;
      countryMap.put("country" + count, ctry);
      stateMap.put("state" + count1 + count2, st);
      addState = false;
     }
     count2++;
     count++;
    }
   }
  } catch (Exception e) {
  }
  //re-arranging the state count list
  stateCount.add("" + count2);
  stateCount.remove(0);
  for (int i = 0; i < countryMap.size(); i++) {
   Map<String, String> curGroupMap = new HashMap<String, String>();
   groupData.add(curGroupMap);
   String ctry = countryMap.get("country" + i);
   curGroupMap.put(NAME, ctry);
   curGroupMap.put(IS_EVEN, "Country " + i);
   List<Map<String, String>> children = new ArrayList<Map<String, String>>();
   int k = Integer.parseInt(stateCount.get(i));
   for (int j = 0; j < k; j++) {
    Map<String, String> curChildMap = new HashMap<String, String>();
    children.add(curChildMap);
    curChildMap.put(NAME, stateMap.get("state" + i + j));
   // curChildMap.put(IS_EVEN, "State " + j);
   }
   childData.add(children);
  }



  // Set up our adapter
  mAdapter = new SimpleExpandableListAdapter(this, groupData,
    android.R.layout.simple_expandable_list_item_1, new String[] {
      NAME, IS_EVEN }, new int[] { android.R.id.text1,
      android.R.id.text2 }, childData,
    android.R.layout.simple_expandable_list_item_2, new String[] {
      NAME, IS_EVEN }, new int[] { android.R.id.text1,
      android.R.id.text2 });
  setListAdapter(mAdapter);


    }
  public boolean onChildClick (ExpandableListView parent, View v, int groupPosition,int childPosition,long id) {
        System.out.println("Inside onChildClick at groupPosition = " + groupPosition +" Child clicked at position " + childPosition+v.toString());

        return true;

 }

  public List<List<Map<String, String>>> getChildData() {
    return childData;
}

}

мой метод onClick

public boolean onChildClick (ExpandableListView parent, View v, int groupPosition,int childPosition,long id) {
        System.out.println("Inside onChildClick at groupPosition = " + groupPosition +" Child clicked at position " + childPosition+v.toString());

        return true;

 }

я хочу получить строку, если я нажму список дочерних элементов

Это мой логарифм:

07-18 11:40:54.334: INFO/System.out(1014): Inside onChildClick at groupPosition = 0 Child clicked at position 0android.widget.TwoLineListItem@405337c0
07-18 11:40:56.714: DEBUG/dalvikvm(916): GC_EXPLICIT freed 14K, 53% free 2557K/5379K, external 884K/1038K, paused 111ms
07-18 11:40:58.744: INFO/System.out(1014): Inside onChildClick at groupPosition = 0 Child clicked at position 0android.widget.TwoLineListItem@405337c0

Я хочу получить строковые данные, а не «TwoLineListItem@405337c0», кто-нибудь может мне помочь? спасибо

9
задан Sharath 10 January 2016 в 12:10
поделиться