2011-09-03 72 views
3

我有一个带有上下文菜单的ListView,用户可以在其中进行拍照。我把这样的画面:在startActivityForResult中传递数据并将其恢复到onActivityResult

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,但是数据没有与结果意图一起传递。我无法使用实例变量,因为如果用户在拍摄照片时切换到横向,活动可能会被破坏。

回答

3

将该变量存储为Activity类成员,然后可以从该Activity类的每个位置使用该变量。 如果你想保存变量状态,那么你应该使用onSaveInstance状态回调。请参阅开发人员文档。

相关问题