Ошибка на super.onActivityResult() почему?

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode,resultCode,data)

    if (requestCode == Selectedimage && resultCode == RESULT_OK && data != null) {

        Uri pickedImage = data.getData();
        Intent send= new Intent(Selection.this,Imagepage.class);
        send.putExtra("pickedImage",pickedImage.toString());
        startActivity(send);
    }
}

какая польза от добавления этого super.onActivityResult линия? и также, когда я добавляю это, это показывает некоторую ошибку.

3 ответа

Решение

Прежде всего, если вы получаете ошибку - всегда показывайте logcat. Во-вторых, если этот метод объявлен в классе, расширяющем Activityнет необходимости звонить super там, так как этот метод пуст в Activity учебный класс:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    }

onActivityResult() это немного похоже onOptionMenuSelected(), таким образом, чтобы:

  1. Основываясь на параметрах, вы можете сказать, должен ли этот вызов функции обрабатываться на этом уровне
  2. если это так, обработайте его и верните (true)
  3. если нет, просто вызовите реализацию суперкласса

Поэтому в вашем фрагменте onActivityResult(), вы должны сначала проверить, если requestCode соответствует тому, что вы установили ранее, если так, обработайте данные и вернитесь. Если нет, просто вернитесь с super.onActivityResult(),

Простой пример может выглядеть так:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
    case SELECT_FILE_TO_UPLOAD:
        // upload a file
        return;

    case SELECT_FILE_TO_DELETE:
        // delete a file
        return;

    default:
        super.onActivityResult(requestCode, resultCode, data);
    }
}

Вызов на самом деле ничего не делает ( ссылка на исходный код), так что вы можете его пропустить, если он вызывает проблемы.

Факт, что это делает, странно, учитывая пустую супер реализацию.

Другие вопросы по тегам