0
當我嘗試使用getSharedPreferences()時,eclipse給了我一個android.Preference.preference.getSharePreferences(),但它不是來自contextWrapper的那個,它有兩個參數。我試圖包含android.content.ContextWrapper.getSharedPreferences(null,0)的全名,但仍然不起作用,eclipse表示無法對非靜態引用進行靜態引用。 有什麼想法?我沒有任何問題調用其他類中的2個參數,例如activity。如何在dialogpreference類中使用getSharedPreferences(String,int)?
public class DialogExPreference extends DialogPreference implements DialogInterface.OnClickListener
{
SharedPreferences settings;
@Override
public void onClick(DialogInterface dialog, int which)
{
if(which==-1)
{
if(!pw1.getText().toString().equals("")&&!pw2.getText().toString().equals(""))
{
if(pw1.getText().toString().equals(pw2.getText().toString()))
{
settings =getSharedPreferences();// android.content.ContextWrapper.getSharedPreferences(null, 0);
Editor editor = settings.edit();
editor.putString("password", pw1.getText().toString());
editor.commit();
Toast.makeText(getContext(), "Password Saved", Toast.LENGTH_SHORT).show();
.....
我認爲你需要指定類似getSharedPreferences(「myPrefs」,MODE_WORLD_READABLE ); – 2012-08-15 05:17:55
這種方法不知道什麼MODE_WORLD_READABLE也不是0 – 2012-08-15 05:27:43
**建議**你調用getText()太多,只調用一次。 – JoxTraex 2012-08-15 05:39:05