Android: StartActivityForresult sempre recebe um código de resultado de 0? [fechado

StackOverflow https://stackoverflow.com/questions/1926284

  •  20-09-2019
  •  | 
  •  

Pergunta

Por algum motivo, quando uso a chamada, o resultado é sempre retornado como 0. Tudo o que estou fazendo é pop -up a caixa de seleção e, depois que a seleção é feita, o usuário atinge o botão Voltar. Alguém sabe que erro eu poderia estar cometendo?

Atividade de chamadas:

Intent i = new Intent(this, Selection.class);
Log.d("Front-End", "Launching Activity");
startActivityForResult(i, SELECTION);

Atividade invocada:

bundle.putStringArray("selections", selected_array);
Intent resultIntent = new Intent();
resultIntent.putExtras(bundle);
setResult(RESULT_OK, resultIntent);
finish();

Alguma sugestão? Se eu incluir a chamada final (), ele me dá o seguinte:

W/ActivityManager( 1030): Duplicate finish request for HistoryRecord{44802c90 com.android.TVitter/.Selection}
Foi útil?

Solução

Ok, não chame para mim agora. Levei duas horas para depurar isso :( apenas anotando para que outros não cometam esse erro estúpido. Eu tive que colocar um botão "OK" e depois lidar com o evento em vez de deixar o usuário pressionar o botão "Voltar" por telefone. Era uma coisa óbvia, mas por algum motivo eu perdi ...

Outras dicas

Você também pode implementar Activity.onBackPressed() Se você deseja retornar alguns dados específicos da atividade quando o botão traseiro for pressionado. Parece que isso está disponível apenas com 2.0.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top