Android: несколько вызовов методов после onActivityResult?

#android #android-intent #bundle

#Android #android-намерение #пакет

Вопрос:

у меня небольшая проблема с моим onActivityResult-onActivityResult. Я хочу выполнить с ним 2 метода, чтобы восстановить два блесны. Но работает только первый, второй игнорируется.

вот мой код:

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

    super.onActivityResult(requestCode, resultCode, data);
    iBreak = 1;
    if (resultCode == RESULT_OK amp;amp; requestCode == REQUEST_CODE) {

        recoverMainFrame(data);
        recoverMainFrameVariant(data);
    }
}

private void recoverMainFrame(Intent data) {

    dbhMy.openDataBase();

    Log.e("mainframe: ", data.getExtras().getString("mainframe"));
    String[] sColumns = { "name", "_id" };
    String[] sColumn = { "_id" };

    Cursor c1 = dbhMy.getData(sColumns, "mainframe");
    startManagingCursor(c1);

    int[] to = new int[] { android.R.id.text1 };

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
            android.R.layout.simple_spinner_item, c1, sColumns, to);
    adapter
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spMainModel.setAdapter(adapter);
    spMainModel.setSelection(data.getExtras().getInt("iPosMain"));
    dbhMy.close();
    recoverMainFrameVariant(data);

}

private void recoverMainFrameVariant(Intent data) {

    dbhMy.openDataBase();

    String[] sColumns = { "name", "_id" };
    Log.e("Variant: ", data.getExtras().getString("mainframe_variant"));
    Cursor c2 = dbhMy.getData("name", "'"
              data.getExtras().getString("mainframe_variant")   "'",
            sColumns, "mainframe_variant");
    startManagingCursor(c2);

    int[] to = new int[] { android.R.id.text1 };

    SimpleCursorAdapter adapter1 = new SimpleCursorAdapter(this,
            android.R.layout.simple_spinner_item, c2, sColumns, to);
    adapter1
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    Toast.makeText(
            this,
            "Variant ist: "
                      data.getExtras().getString("mainframe_variant"),
            Toast.LENGTH_SHORT).show();
    spMainModelSub.setAdapter(adapter1);
    //spMainModelSub.setSelection(data.getExtras().getInt("iPosVar"));
    dbhMy.close();

}
  

Какие-либо советы? 🙁

Спасибо, Питер

Комментарии:

1. Он должен быть вызван вы также вызвали recoverMainFrameVariant(данные) из recoverMainFrame(данные);

2. Не связано с вашим вопросом, но вы должны переместить dbhMy.close(); непосредственно после его использования, чтобы вы не позволяли ему оставаться открытым при выполнении других задач, не связанных с базой данных.

3. ДА… Параметр recoverMainFrameVariant(data) присутствует дважды. Моя ошибка. но не имеет значения, вызываю ли я его из onActivityResult или recoverMainFrame. Он не выполняется.