我有一个带有上下文菜单的 ListView,用户可以在其中拍照。我是这样拍照的:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
this.startActivityForResult(intent, PICTURE_RESULT);
并像这样检索它:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PICTURE_RESULT) {
long itemId = ???
savePicture(itemId, data.getExtras());
}
}
如何传递 ListView 项目 ID?我尝试了 intent.putExtras 和 intent.getLongExtra,但数据未随结果 Intent 一起传递。我不能使用实例变量,因为如果用户在拍照时切换到风景, Activity 可能会被破坏。
最佳答案
将该变量存储为 Activity 类成员,然后您可以从该 Activity 类的每个地方使用它。 如果你想保存变量状态,那么你应该使用 onSaveInstance 状态回调。请参阅开发人员文档。
关于android - 在 startActivityForResult 中传递数据并在 onActivityResult 中取回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7295539/