0

Eclipse で作成している Android アプリケーションでアクティビティを表示したいと考えています。これは私がそれを行う方法です:

Intent intent = new Intent(HomeActivity.this, SecondActivity.class);
intent.putExtra("query", query);
startActivity(intent);

表示している場所で新しいアクティビティのイベントを処理するにはどうすればよいですか? 2 番目のアクティビティのイベント リスナーを作成しました。イベントを処理したい場合は、次のようにクラス「SecondActivity」のインスタンスを作成する必要があります。

  SecondActivity act = new SecondActivity();
  act.itemselectedlisteners.add(new ListItemSelectedListener() {

        @Override
        public void onItemSelected(String key) {
            // TODO Auto-generated method stub
        }
  });

しかし、ダイアログを表示する方法がわかりません。これらのコードを組み合わせるにはどうすればよいですか?

4

1 に答える 1

3

でアクティビティをインスタンス化しないでくださいnewActivityさらに、2 番目のリスナーが表示されている間はバックグラウンド (非実行モード) になるため、呼び出し時にイベント リスナーを設定しても意味がありません。

Android で必要なことを行う正しい方法はstartActivityForResult、関心のあるイベントが発生したときに、2 番目のアクティビティを使用して最初の適切な結果に戻すことです。これにより、アクティビティがさらに分離されます。最初のアクティビティは、2 番目のアクティビティで発生しているイベントについて何も知る必要がないからです。

于 2013-07-07T08:14:14.683 に答える