我有以下内容:
((TextView)findViewById(R.id.TextView02)).setText(getSharedPreferences("FearAlert", 1).getString("contactName", "Tap to select an Emergency Contact."));
((TextView)findViewById(R.id.TextView03)).setText(getSharedPreferences("FearAlert", 1).getString("contactNumber", ""));
现在我想在另一个Activty中使用contactNumber值来表示activity2 在Activty2中是:
SmsManager.getDefault().sendTextMessage(??, null, "message",null, null, null);
return null;
我应该写什么代替?以上..请帮助..
答案 0 :(得分:1)
在Java中,有......没关系,在编程语言中,有变量可以为变量赋值。像x = 1;然后使用可以使用x + x =?;并会给你2;
在这里你可以做到
SharedPreferences sPrefs=getSharedPreferences("FearAlert", 1);
TextView tv=(TextView)findViewById(R.id.TextView02);
String YOUR_INTRESTING_STRING=sPrefs.getString("contactName", "Tap to select an Emergency Contact.");
并将其传递给另一个Activity;你可以把它放在一个Bundle
中Intent i = new Intent(getApplicationContext(), YOUR_ANOTHER_ACTIVITY.class);
i.putExtra("name_of_value",YOUR_INTRESTING_STRING);
startActivity(i);
Bundle extras = getIntent().getExtras();
String value = extras.getString("name_of_value");
答案 1 :(得分:0)
首选项通常是名称值对。它们可以作为“共享首选项”存储在应用程序中的各种活动中(注意,它不能跨进程共享)。或者它可能是需要存储特定于活动的东西(这里不讨论)。
上下文对象允许您通过方法
检索SharedPreferencesContext.getSharedPreferences().
getSharedPreferences("FearAlert", 1).getString("contactNumber", "");
OR
SharedPreferences myPrefs = this.getSharedPreferences("FearAlert", 1);
String contactNumber = myPrefs.getString(contactNumber, "nothing");
答案 2 :(得分:0)
您可以在应用中随处访问您的偏好设置,例如使用以下方法:
/**
* Get a string preference by its key from the apps preferences file
*
* @param key of preference
* @return value of preference
*/
public String getStringPreference(String key) {
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
return pref.getString(key, "");
}
只需设置密钥,例如" CONTACTNAME"作为参数。首选项管理器需要通过getApplicationContext()获取应用程序上下文。
答案 3 :(得分:0)
假设您已正确创建SharedPreferences:
SharedPreferences settings = getSharedPreferences("MY_APP", MODE_PRIVATE);
您可以通过以下方式检索方法中的偏好设置:
SmsManager.getDefault().sendTextMessage(settings.getString("contactNumber"), null, "message", null, null, null);
假设您已使用“MY_APP”共享偏好标记进行设置。
settings.edit().putString("contactNumber", "XXX-XXX-XXXX").commit();