2011-07-07 22 views
0

public class MyTab extends TabActivity;如何在MaintabActivity中監聽BACK keydown(包含2個子tabActivities)

public class SubTab extends TabActivity;

有一個在MYTAB定義2標籤:

  1. setContent(新意圖(此,SubTab.class))
  2. setContent(R.id.view1)

然後在MyTab中寫一個方法:

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
     Log.i("MyTab Back", "In MyTab "); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

和SubTab中的方法,只需更改爲Log.i(「SubTab Back」,「In SubTab」)。

問題: 按下返回鍵在SubTab中,只有「在SubTab」中顯示Logcat。

刪除SubTab中的方法,然後按返回鍵Logcat中不顯示任何內容。

按下返回鍵在另一個選項卡(不是活動)中,只有「在MyTab」中顯示Logcat。

現在,我只想寫一個方法,聽取返回的keydown在MYTAB,因爲在另一個項目中,mainTab有超過3 subtabActivity

回答

2

試試這個:

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     Log.i("MyTab Back", "In MyTab "); 
     return true; 
    } 
    return false; 
} 
2

嘗試如下:

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { 
     Log.i("MyTab Back", "In MyTab "); 
    } 
    return super.dispatchKeyEvent(event); 
}