2011-01-28 48 views
1

我有一個edittext和一個線性佈局的列表視圖。假設有5個結果當前在列表中總共可見10.當我從編輯文本向下滾動到列表視圖,列表視圖中的第5項(我認爲它始終是最後一個)獲得焦點,而不是第一項!我應該如何解決這個問題?listview中的第一項沒有得到重點

回答

0

1)創建一個處理程序,作爲您的活動中的一個字段。像這樣:

private Handler myHandler = new Handler(); 

2)當您創建ListView時,添加一個OnFocusChangeListener,如下所示。

myList.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
     public void onFocusChange(View v, boolean hasFocus) { 
      if (hasFocus) { 
       myHandler.postAtFrontOfQueue(new Runnable() { 
        public void run() { 
         myList.setSelection(0); 
        } 
       }); 
      } 
     } 
    }); 
+0

雖然這有效,但這是一個昂貴的電話,我想。這裏是文檔也說「這種方法只適用於非常特殊的情況 - 它可以很容易地捱餓消息隊列,導致排序問題,或有其他意想不到的副作用。」。我想知道爲什麼我需要一個處理程序那? – 2011-02-03 06:40:57