android 内部类this,Android碰到内部类无法访问外部对象的问题

利用Gallery做了一个画廊效果,然后点击每一张图片显示获取照片的时间

献上代码:

gallery.setOnItemSelectedListener(new OnItemSelectedListener() {

// 当Gallery选中项发生改变时触发该方法,timeList是每张照片的时间数组

@Override

public void onItemSelected(AdapterView> parent, View view, int position, long id) {

imageView.setImageBitmap(finalbitmaps.get(position));

final String s = timeList.get(position);

imageView.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

Toast.makeText(FPFloatingPeopleScrutinyCarPhoto.this, s, 2 * 1000).show();

}

});

}

@Override

public void onNothingSelected(AdapterView> parent) {

}

});

此时的代码是可以正常运行的,但是一旦我把toast里面要显示的s,改为

Toast.makeText(FPFloatingPeopleScrutinyCarPhoto.this, timeList.get(position), 2 * 1000).show();

直接报错要求把position改为final,我不明白的地方就是既然声明了s是final了那说明值就是不可改变的,既然不可改变为什么每次点击不同的图片显示的时间却是不一样的,望高手给小弟解惑?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值