onActivityResult не вызывается во фрагменте

, поскольку php4 вы можете использовать форматировщик строк:

$num = 5;
$word = 'banana';
$format = 'can you say %d times the word %s';
echo sprintf($format, $num, $word);
799
задан Peter Mortensen 26 May 2016 в 08:33
поделиться

4 ответа

Другой вариант использования, не уже описанный в других ответах:

onActivityResult() объявленный во фрагменте не вызывается при использовании exception.startResolutionForResult():

if (exception is ResolvableApiException) {
    exception.startResolutionForResult(activity!!, MY_REQUEST_CODE)
}

В этой замене случая exception.startResolutionForResult() с фрагментом startIntentSenderForResult():

if (exception is ResolvableApiException) {
    startIntentSenderForResult(exception.resolution.intentSender, MY_REQUEST_CODE, null, 0, 0, 0, null)
}
1
ответ дан 22 November 2019 в 21:14
поделиться

Версия Kotlin (В Вашем действии onActivityResult ())

 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    //add following lines in your activity
    if(supportFragmentManager?.fragments!=null && supportFragmentManager?.fragments!!.size>0)
     for (i in 0..supportFragmentManager?.fragments!!.size-1) {
         val fragment= supportFragmentManager?.fragments!!.get(i)
         fragment.onActivityResult(requestCode, resultCode, data)
    }
 }
2
ответ дан 22 November 2019 в 21:14
поделиться

Для тех, кто использует , Навигационный компонент Android должен использовать в Действии onActivityResult(...) primaryNavigationFragment для получения, это - ссылка на фрагмент, и назовите фрагмент fragment.onActivityResult(...).

Вот Действие onActivityResult(...)

@Override
public void onActivityResult(int requestCode, int resultCode, Intent imageData)
{
    super.onActivityResult(requestCode, resultCode, imageData);

    for (Fragment fragment : getSupportFragmentManager().getPrimaryNavigationFragment().getChildFragmentManager().getFragments())
    {
            fragment.onActivityResult(requestCode, resultCode, imageData);
    }
}
0
ответ дан 22 November 2019 в 21:14
поделиться

в первую очередь, необходимо переопределить этот код в Действии;

 @Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}

и после, в Вашем фрагменте,

startActivityForResult(intent,GALLERY_REQUEST_CODE);

и снова, чем в Вашем фрагменте,

@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // Result code is RESULT_OK only if the user selects an Image
    if (resultCode == Activity.RESULT_OK) {

    }

}
0
ответ дан 22 November 2019 в 21:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: