2013-05-15 3 views
1

У меня есть этот фрагмент кода:Как getExtra() после намерения FileChooser?

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

Когда я получить дополнительные от activityIntent, у меня есть пустое значение для selectedFile.

Как я могу getExtra()после filechooser выбрал файл?

ответ

2

Я думаю, что вы не понимаете, как работает startActivityForResult.

Чтобы получить данные для SelectedFile в первом Acitvity вы должны сделать это в FileChooserActivity:

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

тогда вы будете иметь значение в вашем первом Activity.

UPDATE:

В своем первом 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"); 
    } 
} 
+0

У меня уже есть, что в 'FilechooserActivity', вопрос в том, как получить значение 'selectedFile' ? – DrDree

+0

см. Обновленный ответ. –

+0

так в 'Activity': у меня есть значение в selectedFile? – DrDree

Смежные вопросы