2010-05-28 34 views
0

我想知道是否有可能在ExpandableListView中啓動意圖。基本上,其中一個「組」是電話號碼,其子是數字。我希望用戶能夠點擊它並自動呼叫該號碼。這可能嗎?怎麼樣?Android - 在ExpandableListView中啓動意圖

這裏是我的代碼來填充ExpandableListView使用稱爲「數據」的地圖。

ExpandableListView myList = (ExpandableListView) findViewById(R.id.myList); 
       //ExpandableListAdapter adapter = new MyExpandableListAdapter(data); 
       List<Map<String, String>> groupData = new ArrayList<Map<String, String>>(); 
       List<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>(); 

       Iterator it = data.entrySet().iterator(); 
       while (it.hasNext()) 
       { 
        //Get the key name and value for it 
        Map.Entry pair = (Map.Entry)it.next(); 
        String keyName = (String) pair.getKey(); 
        String value = pair.getValue().toString(); 

        //Add the parents -- aka main categories 
        Map<String, String> curGroupMap = new HashMap<String, String>(); 
        groupData.add(curGroupMap); 
        curGroupMap.put("NAME", keyName); 

        //Add the child data 
        List<Map<String, String>> children = new ArrayList<Map<String, String>>(); 
        Map<String, String> curChildMap = new HashMap<String, String>(); 
        children.add(curChildMap); 
        curChildMap.put("NAME", value); 

        childData.add(children); 

       } 

       // Set up our adapter 
       mAdapter = new SimpleExpandableListAdapter(
         mContext, 
         groupData, 
         R.layout.exp_list_parent, 
         new String[] { "NAME", "IS_EVEN" }, 
         new int[] { R.id.rowText1, R.id.rowText2 }, 
         childData, 
         R.layout.exp_list_child, 
         new String[] { "NAME", "IS_EVEN" }, 
         new int[] { R.id.rowText3, R.id.rowText4} 
         ); 

       myList.setAdapter(mAdapter); 

回答

0

您可以將OnChildClickListener添加到您的可展開列表視圖中。當OnChildClick被調用時,你有組和孩子的位置,所以你應該能夠找出哪個電話號碼被點擊。

然後你只需要到斷火的意圖打來電話,即:

Intent intent = new Intent(Intent.CALL_ACTION); 
intent.setData(Uri.parse("tel:+436641234567")); 
startActivity(intent); 
+0

感謝您的幫助! – Ryan 2010-05-28 17:35:34