2015-02-05 33 views
1

所以這是我的情況...如何從加載ListPreference的選定Spinner項中獲取值?

我有一個微調停車區... 1區,2區等

我想要做的:當用戶點擊一個按鈕「發送短信留言「,按鈕應該將一個停車區電話號碼加載到SMS消息中。停車區號碼取決於來自微調器的停車區選擇。


我編輯完成我的最初的問題......所以我......

微調停車區:

final Spinner spinner_zona = (Spinner) findViewById(R.id.spinnerZona); 
    ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(
      this, R.array.zone, android.R.layout.simple_spinner_item); 
    adapter2.setDropDownViewResource(
      android.R.layout.simple_spinner_dropdown_item); 
    spinner_zona.setAdapter(adapter2); 

spinnerPrefs停車區電話號碼:

<resources> 
<string-array name="spinnerZone_postavke"> 
    <item>700101</item> 
    <item>700102</item> 
    <item>700103</item> 
    <item>700105</item> 
    <item>700104</item> 
</string-array> 

存儲和檢索電話號碼儲存在SharedPreferences:

public static boolean setPreferences(Context c, String key, String value) { 
    SharedPreferences settings = c.getSharedPreferences("com.example.igor.parkingzagreb.Preferences", Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putString(key, value); 
    return editor.commit(); 


} 

public static String getPreference(Context c, String key) { 
    SharedPreferences settings = c.getSharedPreferences("com.example.igor.parkingzagreb.Preferences", Context.MODE_PRIVATE); 
    String value = settings.getString(key, ""); 
    return value; 

我在正確的軌道上?通過點擊按鈕將這些電話號碼推送到SMS消息的下一步是什麼?

非常感謝。

+0

也許你可以把與名稱電話號碼,一個HashMap,然後搜索手機通過微調名 – D4rWiNS

+0

@ D4rWiNS我更新了你的建議的OP搜索。你能檢查一下嗎?謝謝。 –

+0

@IgorGajic你在哪裏存儲電話號碼? – iRuth

回答

0

在您的Button s onClick方法中,您可以實施SmsManager,如下所示。

您可以使用SmsManager API:

SmsManager smsManager = SmsManager.getDefault(); 
smsManager.sendTextMessage("phoneNumber", null, "message", null, null); 

或者,你可以使用內置的短信應用:

Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.putExtra("sms_body", "default content"); 
sendIntent.setType("vnd.android-dir/mms-sms"); 
startActivity(sendIntent); 

使用SmsManager API approache需要一個許可:

<uses-permission android:name="android.permission.SEND_SMS" /> 

例在Button小號使用方法:

@Override 
public void onClick(View v) { 

    //Fetch your selected zone from the spinner 
    String zone = spinner_zona.getSelectedItem().toString(); 

    //Set the receipt phone number here, e.g. from SharedPreferences 
    String phoneNo = "yourPhoneNumber"  

    try { 
     SmsManager smsManager = SmsManager.getDefault(); 
     smsManager.sendTextMessage(phoneNo, null, zone, null, null); 
     Toast.makeText(getApplicationContext(), "SMS Sent!", 
        Toast.LENGTH_LONG).show(); 
    } catch (Exception e) { 
     Toast.makeText(getApplicationContext(), 
      "SMS faild, please try again later!", 
      Toast.LENGTH_LONG).show(); 
     e.printStackTrace(); 
    } 

} 

瞭解更多詳細here

+1

@Mike M.很好,趕快,謝謝。 – Marcus

+0

令人驚歎的東西@馬庫斯。 我沒有提到一件事。用戶應該將他的Regplate編號輸入到EditText中,然後通過Send SMS按鈕發送短信。我怎麼能做到這一點? 我的意思是,對於像我這樣的初學者來說,這可能是一個複雜的問題,但我需要學習某種方式......謝謝。 –

+0

您更改spinner_zona.getSelectedItem()。toString(); to your_edit_text.getText()。toString();在你的onClick。與獲取微調器值相同。希望這有助於,如果它有幫助,請勾選它作爲接受的答案:-) @Igor Gajic – Marcus

相關問題