final int REPLACE_IMAGE = 101;
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); //打开多个文件
Log.e(Thread.currentThread().getStackTrace()[2] + "", "position: " + position);
intent.putExtra("position", position);
startActivityForResult(intent, REPLACE_IMAGE);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
//int position = intent.getIntExtra("position", -1); //取不到值
int position = intent.getExtras().getInt("position", -1); //取不到值
Log.e(Thread.currentThread().getStackTrace()[2] + "", "position: " + position);
}
position 取不到值,始终是 -1。
分析
Activity -> intent -> 相册 -> inent1 -> Activity,intent 不是同一个,所以值丢失了。
解决
用一个全局变量代替。