获取/设置值SharedPreference全局

Lar*_*ars 3 android sharedpreferences

嗨我有一个class(MyCustomForm.xml),我用它作为LoginForm用户.现在我想保存,并从用户名(装载值EditText),从LoginForm使用SharedPreferences,但我不知道如何设置用户名通过保存的值SharedPreferencesEditTextLoginForm(MyCustomForm.xml).

我想OnPause在我的Main.xml中保存值并OnCreate在类中加载值MyCustomForm.xml

一般我想使用全球SharedPreferences.

这看起来怎么样?有人可以帮我走上正轨吗?

它在想这样的事情Main.xml:

public class AndroidLogin extends Activity implements OnClickListener {

@Override     
protected void onPause() { 
   super.onPause();  
     Editor e = mPrefs.edit();
     e.putString(USERNM, username);
     e.commit();
}
}
Run Code Online (Sandbox Code Playgroud)

代码MyCustomForm (LoginForm):

public class MyCustomForm extends Dialog {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(com.sencide.R.layout.inlogdialog);

    EditText userTest = (EditText)findViewById(R.id.txtUserName);
    userTest.setText(USERNM);
}
}
Run Code Online (Sandbox Code Playgroud)

And*_*oid 10

你可以这样做:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(YouActivity.this);

String servername = settings.getString("sharedPreferencesKey", "defaultValue");
server.setText(servername);  // EditText
Run Code Online (Sandbox Code Playgroud)

你存储这样的数据:

SharedPreferences.Editor editor = settings.edit();
editor.putString("server", "serverName");
Run Code Online (Sandbox Code Playgroud)

编辑:

这段代码应该为您解决问题:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
String servername = settings.getString("sharedPreferencesKey", "defaultValue");
Run Code Online (Sandbox Code Playgroud)