【发布时间】:2017-09-02 06:13:50
【问题描述】:
我正在尝试使用共享首选项将值从一个活动传递到另一个活动,但得到的是空值。在第一个活动中,我在控制台中打印了值并打印了它,但我无法检索这些值。请帮助我要摆脱这个错误
第一个活动:传递值
sharedpreferences.edit().putString("CHECKPASS","changepass").commit();
editor.putString("FOOD",food1);
editor.putString("PLACE",place1);
editor.putString("COLOR",colour1);
editor.putString("BUY",buy1);
editor.commit();
第二个活动:我在哪里检索
Log.d("succ", "reached");
String yourpass = sharedpreferences.getString("CHECKPASS","changepass");
Log.d("succ", "yournext" + yourpass);
if (yourpass.equals("changepass")) {
{
final String foodshared = sharedpreferences.getString("FOOD","NULL");
Log.d("succ", "foodshared" + foodshared);
final String colorshared = sharedpreferences.getString("COLOR", "NULL");
Log.d("succ", "colorshared" + colorshared);
final String buyshared = sharedpreferences.getString("BUY", "NULL");
Log.d("succ", "buyshared" + buyshared);
final String placeshared = sharedpreferences.getString("PLACE", "NULL");
Log.d("succ", "placeshared" + placeshared);
}
【问题讨论】:
-
logcat也有错误吗? -
我想把这个
sharedpreferences.edit().putString("CHECKPASS","changepass").commit();改成简单的editor.putString("CHECKPASS","changepass"); -
@Mandy8055 logcat 中没有错误。但是控件在第二个活动中没有转到 (succ", "reached)。我该怎么办。
-
好的!!你试过@ModularSynth提到的解决方案吗?
-
请提供minimal reproducible example。 这并不意味着发布您的整个应用程序。相反,您需要确保包含所有相关的类、方法以及变量声明和初始化。我应该能够复制/粘贴您的代码,然后编译并运行它而无需任何更改,并获得您所询问的完全相同的行为。