Sto tentando di inviare dati dall'attività figlio a padre. Ma in qualche modo, onActivityResult (..) non viene chiamato. qui è il codiceIl metodo onActivityResult non viene chiamato Android
attività Parent
selectedText.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
Intent intent = new Intent(Parents.this,Child.class);
startActivityForResult(intent, 1);
}
return true;
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
if (data.hasExtra("selText")) {
selectedText.setText(data.getExtras().getString(
"selText"));
}
break;
}
}
Bambino attività: posso vedere il valore selezionato impostato nel setResult(). Ma dopo aver terminato l'attività del bambino, non tornerà all'attività dei genitori.
textListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int myItemInt,
long arg3) {
selectedFromList =(String) (textListView.getItemAtPosition(myItemInt));
Intent data = new Intent();
data.putExtra("selText", selectedFromList);
setResult(RESULT_OK,data);
finish();
}
});
non ha funzionato dopo aver provato Intent data = getIntent() nell'attività figlio – Chintan
Provare ad aggiungere alcuni 'System.out.println()' 's in 'onActivityResult()' per vedere quale codice viene effettivamente eseguito. Una volta ristretto, dovresti essere in grado di capire il problema. In caso contrario, modifica il tuo post e indicaci quali linee vengono eseguite. – Don
Quindi quando tocco evento viene chiamato su attività padre. Entra in onTouch() e quando esegue la riga startActivityForResult (intent, 1), passa a onActivityResult() con il codice di richiesta è 1. Dopodiché passa a Child Attività e caricarlo. Dopo aver selezionato il valore da ChildActivity.OnItemClick(), termina l'attività figlio ma non ritorna mai su onActivityResult() di parent. Spero sia chiaro – Chintan