2012-01-17 13 views
2

私は何をしたいですか:私はEditTextを持っています。ユーザーがそれをクリックすると、EditTextと同じようにキャレット位置を移動できますが、キーボードは表示されません。EditText onTouchにキーボードが表示されないようにする方法は?

私はsetInputType(0)を試しました。キーボードを完全に隠すが、カーソルは表示されません。

これを行う方法はありますか?

感謝の

答えて

4

次のトリックは私のために働きます。カレットとソフトキーボードの両方がeditTextのonTouchイベントでアクティブです。したがって、タッチイベントを呼び出し、キーボードを手動で非表示にします。

myEditText.setOnTouchListener(new OnTouchListener() { 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     final boolean ret = dialerNumber.onTouchEvent(event); 
     final InputMethodManager imm = ((InputMethodManager) myContext 
       .getSystemService(Context.INPUT_METHOD_SERVICE)); 
     try{ 
      imm.hideSoftInputFromWindow(myEditText.getApplicationWindowToken(), 0); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 
     return ret; 
}); 
0

私は完全にキーボードを抑制しようとしていないが、私はInputMethodManager.hideSoftInputFromWindowメソッドを使用する前に、手動でソフトキーボードを非表示になっています。

+0

これは、キーボードを隠しているが、カーソルボタンを隠しています。私がしたいのは、EditTextを持っていて、クリックされたときに、テキスト内のキャレットを動かすことができる小さなカーソルを表示することですが、それはできません。 –

0

これは機能しますか?

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN) 
+0

それはキーボードを隠しますが、 EditTextの下にカーソルボタンを置いておくが、可能かどうかわからない –

関連する問題