2013-04-23 38 views
-1

我正在實現sms發送時間多個數字,我使用每個for循環。當我在for循環中調用sendSms方法時,它顯示更改類型NumberString。我已檢查if條件中的每個數字是否數字長度大於1,然後發送短信。這是我的代碼。如何在Android中使用每個for循環

btnSendSms=(Button)findViewById(R.id.button1_SendSms); 
btnSendSms.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View arg0) { 
     String message="Hi HElooo"; 
     String[] number={strCellNo1,strCellNo2,strCellNo3,strCellNo4,strCellNo5}; 
     Log.e("String Array","->"+number); 
     for(int i=0 ; i<number.length ; i++) { 
      if(i==0) { 
       sendSMS(number, stringMessage); 
      } 
     } 
    } 
}); 

public void sendSMS(String number, String message) { 
    String SENT = "SMS_SENT"; 
    String DELIVERED = "SMS_DELIVERED"; 
    PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); 
    PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0); 
    // SmsManager sms = SmsManager.getDefault(); 
    SmsManager sms = SmsManager.getDefault(); 
    sms.sendTextMessage(number, null, message, sentPI, deliveredPI); 
} 

@Override 
protected void onStop() { 
    unregisterReceiver(sendBroadCastReciever); 
    unregisterReceiver(deliveryBroadCastReciever); 
    super.onStop(); 
} 
+0

是什麼問題? – 2013-04-23 05:45:00

+0

和你的問題是? – 2013-04-23 05:45:02

+0

你有什麼問題? – 2013-04-23 05:45:29

回答

4

您需要提及要從number陣列使用的String的索引。

for(int i=0 ; i<number.length ; i++){ 
    if(i==0){ 
     sendSMS(number[i], stringMessage); // mentioned the index here. 
    } 
} 

for環路不是必需的,除非有一個備用流量(在for內的可能else語句)。

+0

雖然不需要循環! sendSMS(number [0],stringMessage);足夠。 – 2013-04-23 05:46:59

+0

那麼這就是OP的邏輯。可能在上述情況下,循環不是必需的!不過,這超出了這個問題的範圍! – SudoRahul 2013-04-23 05:47:50

+0

@LazyNinja你是一個忍者,可以快速發現OP代碼中的設計缺陷(並在答案中複製),但也懶得發佈它作爲你答案的一部分:)。 – 2013-04-23 05:50:44