1

我有这个片段:

Intent activityIntent = new Intent(this, FileChooserActivity.class);
startActivityForResult(activityIntent, 0);
String selectedFile = activityIntent.getStringExtra("SelectedFile");

当我从 中获得额外的activityIntent值时,我有一个空值selectedFile

在filechooser 选择文件getExtra() ,我该如何做?

4

1 回答 1

1

我认为你误解了它是如何startActivityForResult工作的。

要首先获取数据,SelectedFileAcitvity应该在以下位置执行此操作FileChooserActivity

Intent i = getIntent();
i.putExtra("SelectedFile", value);
setResult(RESULT_OK, i);
finish();

那么你的第一个Activity.

更新:

在你的第一个Activity你应该有onActivityResult方法:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(data.getExtras().containsKey("SelectedFile"))
    {   
         String file = data.getStringExtra("SelectedFile");
    }
}
于 2013-05-15T15:39:04.850 回答