我有这个片段:
Intent activityIntent = new Intent(this, FileChooserActivity.class);
startActivityForResult(activityIntent, 0);
String selectedFile = activityIntent.getStringExtra("SelectedFile");
当我从activityIntent
获得额外费用时,我selectedFile
的值为空。
文件追踪者选择文件后我怎样getExtra()
?
答案 0 :(得分:1)
我认为你错过了解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");
}
}