0

ナビゲーションバー用にスタンドアロンのカスタムOnClickListenerクラス(メンバークラスではない)を作成しました。以下のコードを参照してください。

class MyClickHandler implements OnClickListener {

@Override
public void onClick(View view) {
    Intent intent;
    Context ctx = view.getContext();
    int id = view.getId();
    switch(id){

    case R.id.app_home_id:
        intent = new Intent(ctx, FormEngineMainApp.class);
        ctx.startActivity(intent);
        break;
    case R.id.app_tasklist_id:
        intent = new Intent(ctx, WorkList.class);
        ctx.startActivity(intent);
        break;
    //more cases...

    }

}

}

各ボタンは異なるアクティビティにつながります。を呼び出した後に現在のアクティビティを終了する傾向がありstartActivity(intent);ますが、を呼び出すには現在のアクティビティインスタンスが必要finish()です。現在のアクティビティインスタンスを取得する方法がわかりません。唯一役立つかもしれないのはパラメータviewですが、Android開発者のビューのリファレンスをチェックして、解決策を見つけることができませんでした。助言がありますか?

4

1 に答える 1

1

を呼び出すとfinish()、スタックからそのアクティビティのエントリが削除されるため、とにかくその古いアクティビティへの参照を取得することはできないと思います!

あなたの場合、最良の部分は、古いアクティビティの参照を取得する前に、使用して呼び出し、呼び出しの終了にstartActivityWithResult(..., ...)応じて呼び出すことです。requestCode

于 2012-06-05T17:49:20.963 に答える