2011-06-09 70 views
4

我有一個ActivityGroup其中我有一個活動。我在此活動中有overridedonBackPressed()。但不幸的是我的onBackPressed()沒有被調用。所以我嘗試了onKeyDown()。但根本沒有效果。我的問題是,我在ActivityGroup中給出的onBackPressed()事件取得了控制權。如何覆蓋我的子活動內的後退按下事件?onBackPressed()不在裏面ActivityGroup

任何幫助表示讚賞。

+0

試試這個:http://stackoverflow.com/questions/5866528/android-onkeydown-problem/5869751#5869751 – 2011-06-09 08:36:45

回答

5

我只是有這個同樣的問題,我從的ActivityGroup調用當前活動的onBackPressed解決它:

@Override 
public void onBackPressed() 
{ 
    int length = idList.size(); 
    if (length > 1) 
    { 
     Activity current = getLocalActivityManager().getActivity(
      idList.get(length - 1)); 
     current.onBackPressed(); 
    } 
} 

IDLIST是活動組中的活動清單。

+0

其實我在我的活動中使用了MediaPlayer。我按照您的建議嘗試過,現在我可以調用我當前正在停止MediaPlayer的活動的onBackPressed()。但仍然不會停止播放後返回到我的ActivityGroup。 – 2011-06-13 07:55:35

+0

你能詳細說明你如何維護ID列表嗎?調用getLocalActivityManager()。getCurrentActivity()似乎很自然,但似乎返回null。 – 2011-08-09 00:58:40

+0

如果你不想要目前的活動,該怎麼辦?我正在使用ActivityGroup來管理一組組。如果我有活動A,B,C,D,當前正處於活動D並且想返回B.我必須能夠在LocalActivityManager中的.destroyActivity命令中指定活動B.我維護的列表提供了這一點。 – 2011-08-10 14:40:21