2012-06-11 78 views
0

我有一個過濾列表的編輯文本。而我的問題是,當我點擊edittext鍵盤不顯示,當我按下輸入它只是不會關閉。軟鍵盤不顯示並且不關閉時

adapt = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,veik); 
    lv.setTextFilterEnabled(true); 
ed.addTextChangedListener(new TextWatcher() { 

      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, 
        int after) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void afterTextChanged(Editable s) { 
       // TODO Auto-generated method stub 
       // veikali.this.veik.getFilter().filter(s); 
       adapt.getFilter().filter(s); 
      } 
     }); 

      ed.setClickable(true); 

能否請你告訴我我該怎麼讓鍵盤當我的EditText點擊和隱藏它,當我按ENTER鍵:

我使用這個代碼過濾?

回答

1

如果您使用TouchScreen手機,在觸摸編輯文本時,SoftKeyboard會出現。至於你查詢的第二部分嘗試以下操作:

ed.setOnKeyListener(new View.OnKeyListener() 
    { 

     @Override 
     public boolean onKey(View editView, int keyCode, KeyEvent event) 
     { 
      Context mContext = MyClass.this; 
      if(keyCode == KeyEvent.KEYCODE_ENTER){ 
       InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE); 
       imm.hideSoftInputFromWindow(ed.getWindowToken(),0); 
       return true; 
      } 
      return false; 
     } 
    }) 
1

這似乎是一個很多額外的工作。我並不是每個人都記得必須將這個功能提供給我的edittexts,因爲它默認應該這樣做。

你確定edittext是可以聚焦的嗎?並且沒有某種類型的視圖阻止它? 如果您在列表視圖中使用你可能想看看這個線程Focusable EditText inside ListView

0

簡單的解決方案,嘗試添加下列屬性爲活動的標記在AndroidManifest.xml:

android:windowSoftInputMode="stateVisible|adjustResize" 

檢查this documentation.