我想保存一个给定的,然后必须在主要和次要活动之间共享。我无法理解为什么我的应用程序不起作用。
这是第二项活动:
switch (find)
{
case 0:
lunedi1.setBackgroundColor(getResources().getColor(R.color.green));
Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_LONG).show();
pref=0;
SharedPreferences prefs = getSharedPreferences("MyPref", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("pref", pref);
editor.commit();
break;
这是MainActivity:
SharedPreferences prefs = getSharedPreferences("MyPref", Context.MODE_PRIVATE);
int pref=100;
// Leggiamo l'informazione associata alla proprieta TEXT_DATA
int dato = prefs.getInt("pref", pref);
// Lo impostiamo alla TextView
if(pref==0)
{
lunedi1.setBackgroundColor(getResources().getColor(R.color.green));
}
lunedi1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int a=0;
final Intent intent = new Intent(MainActivity.this, Second.class);
intent.putExtra("info1", info1);
intent.putExtra("a", a);
intent.putExtra("id",id);
startActivity(intent);
}
以这种方式它应该传递数据,然后背景应该变为绿色,但这不会发生。
答案 0 :(得分:1)
您在此处声明并初始化新变量pref
int pref=100;
所以这里
if(pref==0)
pref == 100
不是0
不是积极的,但我认为你的意思是
if(dato == 0)
答案 1 :(得分:0)
使用SharedPreferences
存储数据:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("Tag","value");
editor.commit();
从SharedPreferences
检索数据:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = preferences.getString("Tag","");