2012-11-27 55 views
0

我做了一個listview,並有2個對象,名稱&電話。現在,我想點擊列表視圖並撥打列出的電話號碼。帶有電話號碼的Android列表視圖。想要點擊,撥打電話或電子郵件

我不知道該怎麼做。請幫忙。謝謝。

import java.util.ArrayList; 
import java.util.HashMap; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ListView; 
import android.widget.SimpleAdapter; 

public class Express extends ListActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      activitylink.getInstance().addActivity(this); 

      final String Item_Name = "NAME", Item_Hotline = "HOTLINE"; 

      ArrayList<HashMap<String,String>> myListData = new ArrayList<HashMap<String,String>>(); 

      String[] hotlines = new String[]{ "11112222" , "22223333", "44445555" }; 

      for(int i=0;i<getResources().getStringArray(R.array.item).length ; ++i) { 
        HashMap<String,String> item = new HashMap<String,String>(); 
        item.put(Item_Name,getResources().getStringArray(R.array.item)[i]); 
        item.put(Item_Hotline,hotlines[i]); 
        myListData.add(item); 
      } 

      setListAdapter(new SimpleAdapter(
        this, 
        myListData, 
        R.layout.list_item, 
        new String[] { Item_Name, Item_Hotline }, 
        new int[] { android.R.id.text1, android.R.id.text2 }) 
      ); 
    } 
    @Override 
    public void onListItemClick(ListView list, View v, int position, long id) { 


     } 
    } 
} 

回答

0

試試這個,希望這將幫助你......

@Override 
public void onListItemClick(ListView list, View v, int position, long id) { 
     String hotline = (String) myListData.get((int) id) 
         .values().toArray()[1]; 

     Log.d("hotline", hotline); 
     callHotline(hotline); 
    } 
} 
private void callHotline(String hotlineStr){ 
    Intent callIntent = new Intent(Intent.ACTION_CALL); 
    callIntent.setData(Uri.parse("tel:"+hotlineStr)); 
    startActivity(callIntent); 
} 
0

@覆蓋 公共無效onListItemClick(ListView控件列表,視圖V,INT位置,長的id){ 字符串 熱線= myListData.get(位置);

  Intent tocall = new Intent(Intent.ACTION_CALL); 
     tocall.setData(Uri.parse("tel:"+hotline)); 
      startActivity(tocall); 
    } 
} 
0

OnItemClickListener

@Override 
public void onListItemClick(ListView list, View v, int position, long id) { 

    Intent callIntent = new Intent(Intent.ACTION_CALL); 
    callIntent.setData(Uri.parse("tel:" + hotlines[position])); 
    startActivity(callIntent); 

    } 
} 
相關問題