私はAndroid開発に不慣れです。
4つのボタンがあるメインアクティビティ(-> A)を作成しました。 4つのボタンの1つはEXITボタンです。
EXITボタンをクリックして、別のアクティビティ(-> B)を開始します。これにより、「A」アクティビティからのインテントを介して「B」アクティビティが開きます。
アクティビティ「B」に含まれる-終了しますか?はい-ボタン&いいえ-ボタン。
私がfinish()を与えると、ボタンのonclick-'B'Activityを終了します。 『B』 『A』を仕上げたい。
私もA.finish()を試しました->これは認識されず、構文/意味エラーが発生します。
ここで助けていただければ幸いです。
PS:私はAndroid-2.2バージョンの電話を使用していますが、ActivityManagerを使用してこれを解決したくありません。
で子供の活動を開始してみてください
startActivityForResult(intent, REQUEST_EXIT);
子供の活動中
case R.id.quit:
setResult(RESULT_OK, null);
finish();
親の活動で
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_EXIT) {
if (resultCode == RESULT_OK) {
this.finish();
}
}
}
開始アクティビティBにはstartActivityForResult()
in アクティビティAを使用し、AだけでonActivityResult()
を使用finish()
アクティビティA.ボタンを押しただけのアクティビティBでfinish()
アクティビティB。
次のような子アクティビティから親アクティビティを終了できます...
親に...
startActivityForResult(new Intent(Parent.this, Child.class), ACTIVITY_CONSTANT);
また、ParentのOnActivityForResult(...)メソッドをオーバーライドします。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == ACTIVITY_CONSTANT)
{
finish();
}
}
子アクティビティでfinish()を呼び出すと、親も終了します。