如何从加载 ListPreference 的选定 Spinner 项目中获取值?
How do I get a value from a selected Spinner item that loads a ListPreference?
这就是我的情况...
我有一个带停车区的微调器...区域 1、区域 2 等
我想做什么:当用户单击按钮 "Send SMS Message" 时,该按钮应将停车区 phone 号码加载到 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 停车区 phone 数量:
<resources>
<string-array name="spinnerZone_postavke">
<item>700101</item>
<item>700102</item>
<item>700103</item>
<item>700105</item>
<item>700104</item>
</string-array>
在 SharedPreferences 中存储和检索 phone 个号码:
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;
我走在正确的轨道上吗?要通过单击按钮将这些 Phone 号码推送到 SMS 消息,下一步是什么?
非常感谢。
在您的 Button
s onClick
方法中,您可以实现 SmsManager
,如下所示。
您可以使用 SmsManager API:
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("phoneNumber", null, "message", null, null);
或者,您可以使用内置的 SMS 应用程序:
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body", "default content");
sendIntent.setType("vnd.android-dir/mms-sms");
startActivity(sendIntent);
使用 SmsManager API 方法需要权限:
<uses-permission android:name="android.permission.SEND_SMS" />
在您的 Button
s onClick
方法中使用 SmsManager
的示例:
@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、区域 2 等
我想做什么:当用户单击按钮 "Send SMS Message" 时,该按钮应将停车区 phone 号码加载到 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 停车区 phone 数量:
<resources>
<string-array name="spinnerZone_postavke">
<item>700101</item>
<item>700102</item>
<item>700103</item>
<item>700105</item>
<item>700104</item>
</string-array>
在 SharedPreferences 中存储和检索 phone 个号码:
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;
我走在正确的轨道上吗?要通过单击按钮将这些 Phone 号码推送到 SMS 消息,下一步是什么?
非常感谢。
在您的 Button
s onClick
方法中,您可以实现 SmsManager
,如下所示。
您可以使用 SmsManager API:
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("phoneNumber", null, "message", null, null);
或者,您可以使用内置的 SMS 应用程序:
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body", "default content");
sendIntent.setType("vnd.android-dir/mms-sms");
startActivity(sendIntent);
使用 SmsManager API 方法需要权限:
<uses-permission android:name="android.permission.SEND_SMS" />
在您的 Button
s onClick
方法中使用 SmsManager
的示例:
@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。