0

标题就是问题。我在共享首选项中保存了一个字符串值,并且能够在该类中访问它。现在我想从另一个类的另一个方法访问它。尝试了一些方法,但没有奏效。

在共享首选项中保存字符串的类:

http://pastie.org/4254511

类试图检索以前保存在共享首选项中的用户名:

public class testSharedPrefernce extends Activity{
TextView tv;
 @Override
    protected void onCreate(Bundle savedInstanceState){
     super.onCreate(savedInstanceState);
     setContentView(R.layout.lo);
     tv = (TextView)findViewById(R.id.textView1);
     SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
     String name = myPrefs.getString("NAME", "YourName");
     tv.setText(name);
 }

}

4

2 回答 2

0

只需创建一个接受上下文的类的构造函数。例如:

class Abc
{
    Context contaxt;
    public Abc(Context context)
    {
        this.context = context;
    }
}
..........
..........
// now use this context to SharedPref..
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
于 2012-07-14T08:23:12.607 回答
0

使用以下代码获取首选项。

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
boolean cbvalue = myPrefs.getBoolean("CHECKBOX", false);
String name = myPrefs.getString("NAME", "YourName");
String paswrd =myPrefs.getString("PASSWORD", "123");

使用以下代码保存首选项。

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();

prefsEditor.putString("NAME", "Dipak");
prefsEditor.putString("PASSWORD", "Dipak123");
prefsEditor.commit();
于 2012-07-14T08:24:29.860 回答