Я следую этому руководству http://www.vogella.com/articles/AndroidIntent/article.html за то, что некоторые данные переданы родительской активности, вызвав действие с помощью startActivityForResult.onActivityResult data transfer
В основном я пытаюсь закончить родительскую активность, на некоторых нажатых кнопках, но не на BackPressed. Я не знаю, есть ли более простой способ или нет. Как это:
MainPage to NewTarget
NewTarget to Target
// onBackPressed
Target to NewTarget
// onButtonClick on TargetActivity
Target to MainPage
Проблема заключается в onActivityResult вызовов, когда я нажимаю кнопку на активности NewTarget, а не на целевой финише деятельности ?? Разве это не должно быть наоборот?
В классе «NewTarget» у меня есть кнопка, которая должна вызывать активность onClick. И мне также нужна некоторая функция feedBack, названная «Target», например, она была завершена кнопкой «Назад» или каким-либо другим способом (мне нужно закончить эту операцию на определенный момент щелчка, и я назвал «finish()»)
от NewTarget деятельности:
public void savingClick(View v) {
Intent targetIntent = new Intent(this, Target.class);
targetIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(targetIntent, 5);
}
о целевой деятельности:
@Override
public void finish() {
if(ClickCheck) {
Log.d("Target","ClickCheck");
// Prepare data intent
Intent data = new Intent();
data.putExtra("returnKey", "click");
// Activity finished ok, return the data
setResult(RESULT_OK, data);
}
super.finish();
}
И, наконец, на активность NewTarget:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d("NewTarget","requestCode: " + requestCode);
Log.d("NewTarget","resultCode: " + resultCode);
if(requestCode == 5 && resultCode == RESULT_OK) {
Log.d("NewTarget","data: " + data.hasExtra("returnKey"));
if(data.hasExtra("returnKey"))
this.finish();
}
super.onActivityResult(requestCode, resultCode, data);
}
И я проверить значения:
// these lines have appeared when i clicked on button to startActivityForResult
requestCode: 5
resultCode: 5
// ClickCheck line has appeared on Target activity finished.
// data: data.hasExtra("returnKey")); line has never been appeared.
Так в чем же дело? Что я пропускаю? Заранее благодарим за помощь.
Что вы хотите достичь, не могли бы вы рассказать в простых – rajpara
Я отредактировал свой вопрос с помощью схематического объяснения. – yahya