ImageView的setImageResource()方法显示不了图片怎么回事
我利用fragment和ViewPager实现了一个底部导航栏,fragment内控件的事件响应写在fragment的onActivityCreated()方法里
定义了一个数组用来存放drawable的资源,一共有9幅图片
在SharedPreferences里存放有一个int型数据head,取值为1-9,分别对应不同的图片资源,显示在ImageView里
设置布局时,ImageView里显示的是第一幅图片(R.drawable.head_1)
// ivHead是显示头像的,SharedPreference存了头像编号(1-9)
ImageView ivHead = getActivity().findViewById(R.id.mine_imageViewHead);
int[] headResource = new int[]{R.drawable.head_1, R.drawable.head_2, R.drawable.head_3, R.drawable.head_4, R.drawable.head_5,
R.drawable.head_6, R.drawable.head_7, R.drawable.head_8, R.drawable.head_9};//头像数组
SharedPreferences sp = getActivity().getSharedPreferences("LoginSp", Context.MODE_PRIVATE);
ivHead.setImageResource(headResource[sp.getInt("head",0)-1]);
上面的代码是写在fragment 的onActivityCreated()方法里的,利用Toast显示sp.getInt("head",0),显示的数字是正确的
但是图片一直都是第一幅,怎么改变head的值都不变,这是怎么回事呢?