2011-06-08 68 views
0
  • 我從活動1導航到活性2 練習2我有一個鍵盤和這款鍵盤選擇後退按鈕和去到活動後在屏幕上顯示1

這是我如何修復了這個問題Android - 活動和導航?

// This code is in Activity 2 
@Override 
public void onBackPressed() { 
    startActivity(intentForActivity1); 
    finish(); 
} 

這是錯誤的解決方案,我的問題? 手動處理後退按鈕不是個好主意嗎?

+0

當鍵盤了,先回按鈕應關閉鍵盤。這沒有發生? – 2011-06-08 17:17:38

回答

1

由於您正在捕獲後退按鈕,所以最有可能的是軟鍵盤沒有收到新聞,因此它不會隱藏。

嘗試自己隱藏得:

@Override 
public void onBackPressed() { 
    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 
    startActivity(intentForActivity1); 
    finish(); 
} 

見雷託·梅爾的答案,詳細瞭解此方法來隱藏鍵盤:Close/hide the Android Soft Keyboard

1

重寫後退按鈕本身並沒有什麼錯誤。只要確保行爲不會讓用戶感到困惑。另外,如果您只想隱藏軟鍵盤(例如,您在標籤之間切換等),則可以使用InputMethodManager。這裏有一個thread,人們討論如何做到這一點。