Marcadores
actionbar
(3)
adapter
(1)
android
(17)
android studio
(4)
atalhos
(1)
collections framework
(1)
ContextMenu
(1)
custom application
(1)
DAO
(1)
eclipse
(1)
erro
(1)
fatorial
(1)
fibonacci
(1)
fragments
(1)
git
(3)
GitHub
(2)
ícones
(2)
intent-filter
(1)
java
(4)
jsf
(1)
listview
(1)
máscara
(1)
MaskFormatter
(1)
material design
(2)
menu suspenso
(1)
permissões
(1)
plugin
(1)
RadioButton
(1)
recursividade
(1)
singleton
(1)
SQLite
(1)
SQLiteOpenHelper
(1)
startActivityForResult
(1)
toolbar
(1)
xml
(3)
segunda-feira, 31 de outubro de 2016
Como usar o método startActivityForResult?
O startActivityForResult funciona com a utilização de 3 métodos em conjunto:
1) startActivityForResult, vai receber uma intenção e um código identificador. Assim, ele poderá abrir uma outra activity solicitando um resultado dela.
Exemplo:
private final static int CODIGO_IDENTIFICADOR = 1;
Intent intent = new Intent(PrimeiraActivity.this, SegundaActivity.class);
startActivityForResult(intent, CODIGO_IDENTIFICADOR);
2) setResult, vai pegar um intent que possui dados extras e associar ao resultado pelo código identificador setado pela startActivityForResult. O setResult deve estar na SegundaActivity, pois é ela que retornará os dados pedidos pela primeira.
Exemplo:
Intent intent = getIntent();
intent.putExtra("resultado", result.toString());
setResult(Activity.RESULT_OK, intent);
finish();
3) onActivityResult(), vai recuperar o resultado setado de acordo com o código identificador passado. Logicamente o onActivityResult() deve estar na PrimeiraActivity, pois é ela que irá recuperar o resultado.
Exemplo:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == CODIGO_IDENTIFICADOR) {
String message = data.getStringExtra("resultado");
Result.setText("Resultado: "+message);
}
}
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário