我有一个快速的问题。
如果我在另一个 Activity 中选择 RadioButton,我想更改 GridView 的图像。简而言之:我想从 Activity B 更改 Activity A 的 Gridview 图像。遗憾的是我得到了 NULLPOINTER。
这是我的 B 代码:
单选按钮1:
SavePreferences("a0", "1");
单选按钮2:
SavePreferences("a0", "2");
我的保存偏好
private void SavePreferences(String key, String value){
SharedPreferences sharedPreferences = getSharedPreferences("sharedPreferences2", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
所以这里是活动A
public String a0 = "1";
public Integer a1;
public Integer a2;
public Integer a3;
public Integer a4;
public Integer a5;
public Integer a6;
在 OnCreate
SharedPreferences sharedPreferences = getSharedPreferences("sharedPreferences2", MODE_PRIVATE);
String a0 = sharedPreferences.getString("a0", "1");
Log.i("MyActivity", "3:a0= " + a0 );
if ( a0.equals("1"))
{ Log.i("MyActivity", "4:a0= " + a0 );
a1=R.drawable.ic_launcher;
a2=R.drawable.ic_launcher;
a3=R.drawable.ic_launcher;
a4=R.drawable.ic_launcher;
a5=R.drawable.ic_launcher;
a6=R.drawable.ic_launcher;
}
if ( a0.equals("2"))
{ Log.i("MyActivity", "6:a0= " + a0 );
a1=R.drawable.test;
a2=R.drawable.test;
a3=R.drawable.test;
a4=R.drawable.test;
a5=R.drawable.test;
a6=R.drawable.test;
}
这是我的 ImageAdapter
public class ImageAdapter extends BaseAdapter {
[....]
public Integer[] mThumbIds = {
a1 , a2,
a3, a4,
a5 , a6,
};
}
我设置了一些日志来查看问题所在。Log 3 说 a0 = 1 但 Log 4 没有反应。
所以我的代码没有进入 if 循环,虽然 a0 == 1 ??
谁能解释一下,问题出在哪里?