2011-02-10 53 views
8

我有一個ListView,每行有一個EditText。我在此活動的清單中設置了windowSoftInputModeadjustPan,因此,當我點擊EditText時,佈局平底鍋會在鍵盤上方可見。帶有windowSoftInputMode的ListView中的EditText adjustPan

這是第一次點擊EditText。但是,如果我按下後退按鈕以關閉鍵盤,然後再次點擊相同的EditText(不點擊其他任何東西,所以光標仍保留在第一個EditText),鍵盤恢復正常,但佈局不會平移。這樣做的結果是EditText被隱藏在鍵盤後面。

有沒有人遇到過這種行爲/知道如何解決它?

謝謝

+0

聽起來像一個錯誤給我! – Dori 2011-02-10 14:21:24

回答

8

不知道爲什麼會發生這種情況,但我有一個解決方案。

我已經子類EditText和覆蓋的方法onKeyPreIme(int keyCode, KeyEvent event)如下:

@Override 
public boolean onKeyPreIme(int keyCode, KeyEvent event) 
{ 
    if(keyCode == KeyEvent.KEYCODE_BACK) 
    { 
     clearFocus(); 
    } 
    return super.onKeyPreIme(keyCode, event); 
} 

現在按下返回鍵時,該EditText放棄焦點。然後再次敲擊它具有所需的行爲。

+0

感謝馬特......很高興我不是唯一一個注意到Android中所有這些異常的人。儘管如此,年輕人仍然很年輕... API將會搖滾。當你有一些時間,請看看我拿起這個其他錯誤:http://stackoverflow.com/questions/15267137/android-adjustpan-not-working-after-edittext-container-has-been-translated非常感謝 – Houston 2013-03-25 14:26:29

相關問題