我有这个片段:

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


当我从activityIntent获得额外的收入时,selectedFile的值为空。

filechooser选择文件后,我该如何getExtra()

最佳答案

我想您对startActivityForResult的工作方式有误解。

要在第一个SelectedFile中获取Acitvity的数据,应在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");
    }
}

10-08 06:14