2015-02-06 109 views
0

我有一個微調和一個單獨的字符串數組與五個數字。微調onSelectedItem字符串?

這是字符串數組:

<resources> 
<string-array name="numbers"> 
    <item>10001</item> 
    <item>10002</item> 
    <item>10003</item> 
    <item>10004</item> 
    <item>10005</item> 
</string-array> 

當我選擇一個微調的項目,我想的是,選擇微調項引用從字符串數組中的一個號碼。

例子:

微調選擇的項目是「鮑勃」,他的號碼是10002 我想要得到的微調選擇一個字符串,這樣我就可以再使用它。

爲串還用法:

String phoneNo = *number from the String-Array* 


       try { 
        SmsManager smsManager = SmsManager.getDefault(); 
        smsManager.sendTextMessage(phoneNo, null, message, null, null); 
+0

添加您現在的代碼。鮑勃與這個號碼有什麼關係?它是否在某個對象的某個對象中? – 2015-02-06 19:58:29

+0

鮑勃是在自己的字符串數組,用於微調。我需要把鮑勃與他的電話號碼聯繫起來。數字在單獨的字符串數組中。 – 2015-02-06 20:03:02

回答

0

如果包含鮑勃字符串數組,其大小與包含Bob的數字符串數組一樣,你可以組織兩個字符串數組,使得Bob的名字的索引與他的電話號碼相同。

這樣,您只需使用一個索引來引用這兩個字符串數組中的相關元素。

0

這可能是最好的做某種映射,然後從OnItemSelectedListener檢索地圖上的數字。 Sic

public class YourActivity extends Activity 
    implements OItemSelectedListener 
{ 
    ... 
    private Map<Integer, String> mNumbers; 
    ... 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     ... 
     mNumbers = new HashMap<>(); 
     String[] numbers = getResources().getStringArray(R.id.numbers); 
     String[] name = getResources().getStringArray(R.id.names); 

     if (names.length == numbers.length) { 
      for (i = 0; i < names.length; i++) mNumbers.put(i + 1 /*I think*/, numbers[i]; 
     } else { Log.wtf("YourActivity", "somehow names and numbers are different sizes"); } 
     ... 
     //btw: you're going to want a better storage option. 
     Spinner yourSpinner = (Spinner) findViewById(...); 
     yourSpinner.setOnItemSelectedListener(this); 
    } 
    ... 
    @Override 
    public void onItemSelected(AdapterView parent, View view, int position, long id) { 
     String number = mNumbers.get(position); //I cant remember if the position is zero or one indexed 
     //do your thing 
    }