2012-05-24 1 views
0

Получил приятное объяснение, и это может оказаться полезным для всех, кто пытается сделать то же самое !!!Как установить значение String для ExpandableListView Текст для детей нажатием?

public class ExpList extends ExpandableListActivity 
{ 
String gametype; 

    // strings for group elements 

    static final String arrGroupelements[] = 
    { 
    "POKER TOURNAMENTS", 
    "SLOTS TOURNAMENTS", 
    "ROULLETTE/CRAPS TOURNAMENTS", 
    "BLACKJACK TOURNAMENTS", 
    "BINGO/CHARITY BINGO" 
}; 


    // strings for child elements 

static final String arrChildelements[][] = 
{ 
    { 
    "TEXAS HOLD'EM", 
    "OMAHA HIGH-LOW", 
    "SEVEN CARD STUD", 
    "THREE CARD POKER", 
    "OTHER POKER VARIANTS", 
    "ONLINE/SATTELITE TOURNAMENTS" 
    }, 
    { 
    "SLOTS" 
    }, 
    { 
    "ROULLETTE", 
    "CRAPS" 

    }, 
    { 
    "BLACKJACK" 
    }, 
    { 
     "BINGO" 
     } 
    };  

И работает onChildClick функцию следующим образом установить значение строки в «техасский холдем», когда этот ребенок щелкнул ниже

@Override 
     public boolean onChildClick(ExpandableListView parent, View v, 
       int groupPosition, int childPosition, long id) { 
      //ExpandableListAdapter adapter = getExpandableListAdapter(); 
      gametype = ExpList.arrChildelements[groupPosition][childPosition]; 
      //--------------------- 
      Intent pullt = new Intent(ExpList.this, 
        SearchActivity.class); 
      Bundle bundle = new Bundle(); 
      bundle.putString("gametype", gametype); 
      pullt.putExtras(bundle); 
      pullt.putExtra("gametype", gametype); 

      startActivity(pullt); 
      //--------------------- 
      return false; 
     } 
+0

Что ваш 'ExpAdapter' делать? – flo

+0

Ничего. Моя цель - сказать, что нажата кнопка TEXAS HOLD EM. Тогда значение типа gametype должно установить значение «Texas Hold Em» для передачи активности разбора. Например, см. Править внизу описания – user1411823

ответ

0

В onChildClick() вы получите groupPosition и childPosition.

ExpandableListAdapter adapter = getExpandableListAdapter(); 
gametype = adapter.getChild(groupPosition, childPosition).toString; 
+0

СПАСИБО СМОТРЕТЬ! – user1411823

+0

Так я бы вставлял этот код внутри события onChildClick? Как ExpandableListAdapter adapter = getExpandableListAdapter(); – user1411823

+0

Получение исключения с нулевым указателем. См. Редактирование внизу описания. Это то, что я получил в событии onchildclick. – user1411823

0
public class ExpList extends ExpandableListActivity 
{ 
String gametype; 

    // strings for group elements 

    static final String arrGroupelements[] = 
    { 
    "POKER TOURNAMENTS", 
    "SLOTS TOURNAMENTS", 
    "ROULLETTE/CRAPS TOURNAMENTS", 
    "BLACKJACK TOURNAMENTS", 
    "BINGO/CHARITY BINGO" 
}; 


    // strings for child elements 

static final String arrChildelements[][] = 
{ 
    { 
    "TEXAS HOLD'EM", 
    "OMAHA HIGH-LOW", 
    "SEVEN CARD STUD", 
    "THREE CARD POKER", 
    "OTHER POKER VARIANTS", 
    "ONLINE/SATTELITE TOURNAMENTS" 
    }, 
    { 
    "SLOTS" 
    }, 
    { 
    "ROULLETTE", 
    "CRAPS" 

    }, 
    { 
    "BLACKJACK" 
    }, 
    { 
     "BINGO" 
     } 
    };  

И работает onChildClick функцию следующим образом установить значение строки в «техасский холдем», когда этот ребенок щелкнул ниже

@Override 
     public boolean onChildClick(ExpandableListView parent, View v, 
       int groupPosition, int childPosition, long id) { 
      //ExpandableListAdapter adapter = getExpandableListAdapter(); 
      gametype = ExpList.arrChildelements[groupPosition][childPosition]; 
      //--------------------- 
      Intent pullt = new Intent(ExpList.this, 
        SearchActivity.class); 
      Bundle bundle = new Bundle(); 
      bundle.putString("gametype", gametype); 
      pullt.putExtras(bundle); 
      pullt.putExtra("gametype", gametype); 

      startActivity(pullt); 
      //--------------------- 
      return false; 
     } 

 Смежные вопросы

  • Нет связанных вопросов^_^