2010-06-15 45 views
2

我有一個EditText,右邊有一個可繪製的複合物。當我按下drawable並清除文本時,我想隱藏軟鍵盤。對於這一點,我有以下代碼:Android隱藏複合可繪製的軟鍵盤

 filterText.setOnTouchListener(new OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
       if (filterText.getCompoundDrawables()[2] == null) { 
         // cross is not being shown so no need to handle 
         return false; 
       } 
       if (event.getAction() != MotionEvent.ACTION_DOWN) { 
         // only respond to the down type 
         return false; 
       } 
       if (event.getX() > filterText.getMeasuredWidth() - 
         filterText.getPaddingRight() - d.getIntrinsicWidth()) { 
         filterText.setText(""); 
         InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
         imm.hideSoftInputFromWindow(v.getWindowToken(), 0); 
         return false; 
       } 
       else { 
        return true; 
       } 
     } 
    }); 

但它不工作,因爲EDITTEXT似乎保持焦點。我試圖filterText.clearFocus,但沒辦法。

感謝

回答

1

只是一個建議:你不能把一個ButtonEditText的吧?