2013-07-07 39 views
0

我想在我用Eclipse編寫的Android應用程序中顯示活動。這是我這樣做的方式:如何在Android中顯示活動時處理事件?

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

我該如何處理剛剛顯示它的新活動事件?我爲第二項活動做了一個事件監聽器。如果我要處理的事件,我應該使課堂「SecondActivity」像這樣的實例:

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

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

但是當時我不知道如何來顯示對話框。我如何結合這些代碼?

+1

我不認爲這會起作用,因爲一旦您的第二個活動開始,您的第一個活動將暫停......爲什麼? –

+2

'SecondActivityact act = new SecondActivity()'這是錯誤的。活動有一個生命週期,您可以使用'startActivity(intent)'開始和活動。我建議你首先閱讀文檔http://developer.android.com/training/basics/activity-lifecycle/index.html – Raghunandan

回答

3

您不應該使用new實例化活動。此外,在呼叫Activity中設置事件監聽器是沒有意義的,因爲它將在第二個顯示時被帶到背景(意味着處於非運行模式)。

在Android中執行所需操作的正確方法是使用startActivityForResult,並在您感興趣的事件發生時將第二個活動返回到第一個適當的結果。這也將進一步分離你的活動,因爲第一個人不需要知道第二個事件發生的任何事情。

+0

你知道,我有一個包含gridview的活動。我希望它能夠在gridview中的某一行被點擊時顯示另一個版本。所以我應該關閉SecondActivity並告訴第一個活動打開另一個SecondActivity;)... tanx爲您的答案... –

相關問題