我的应用程序有一个登录屏幕。 (微调器,编辑文本,按钮),我想将微调器选定的项目和输入的文本存储到共享的首选项。在应用程序的任何地方使用。
码
Button lgnbutton;
EditText lgnfield;
Spinner lgnspinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
lgnbutton = (Button) findViewById(R.id.loginbutton);
lgnfield = (EditText) findViewById(R.id.loginfield);
lgnspinner = (Spinner) findViewById(R.id.loginspinner);
lgnbutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String ID = lgnfield.getText().toString();
String Type = lgnspinner.getSelectedItem().toString();
Intent myIntent = new Intent(LoginActivity.this, MainActivity.class);
LoginActivity.this.startActivity(myIntent);
}
});
}
}
也可以跳过loginactivity并继续进行主要活动。
答案 0 :(得分:2)
在微调器上单击
调用此方法 SavePreferences("spinner_item", mySpinner.getSelectedItem().toString());
SavePreferences方法体。
private void SavePreferences(String key, String value){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
调用此方法加载微调器项。
private void LoadPreferences(){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
String strSavedMem = sharedPreferences.getString("spinner_item", "");
}
答案 1 :(得分:1)
您可以像在SharedPreferences
中一样存储登录详细信息和微调器选定项目lgnbutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
ID = lgnfield.getText().toString();
Type = lgnspinner.getSelectedItem().toString();
SharedPreferences.Editor prefsEditor = loginpreferences.edit();
prefsEditor.putString("ID", ID);
prefsEditor.putString("Type", Type);
prefsEditor.commit();
Intent myIntent = new Intent(LoginActivity.this, MainActivity.class);
LoginActivity.this.startActivity(myIntent);
}
});
并在onCreate
LoginActivity
SharedPreferences
检查MainActivity
中是否存在登录详细信息,如果是,则移至SharedPreferences loginpreferences;
String ID="",Type="";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
loginpreferences = this.getSharedPreferences("loginPrefs",
MODE_WORLD_READABLE);
ID = loginpreferences.getString("ID", "");
Type = loginpreferences.getString("Type", "");
if(!ID.equalsIgnoreCase("") && !Type.equalsIgnoreCase(""))
{
//move to MainActivity
}else
{
//stay in LoginActivity
}
:
{{1}}