2015-02-05 53 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

相关问题