2016-04-08 13 views
3

特定のEditTextをタッチしたときにソフトキーボードを表示したくありません。しかし、私はまだユーザーの要求に応じてソフトキーボードを表示することができます(たとえば、ボタンが押されたとき)、ユーザーがテキストを編集できるようにしたいと考えています。 ソフトキーボードを表示/非表示にする方法はわかっていますが、触れないようにする方法はわかりません。 どのようにお勧めしますか?ソフトキーボードがタッチで表示されないようにする方法

一般的な考え方は、テキスト内の選択/位置を使用して、ほとんどの場合文字を入力するだけで作業するという一般的な考え方です。 テキストを選択またはナビゲートするときに、ソフトキーボードによって表示されるテキストの量を減らす必要はありません。マニフェストのアクティビティ内

+0

あなたのXMLのアンドロイドでこれらを使用します。 編集可能= "false" にandroid:focusable = "false"その後、ユーザーがオプションを選択できるように警告ダイアログボックスを表示することができます –

答えて

3

単に

txtEdit.setShowSoftInputOnFocus(false); 

を使用していて、それを有効にする場合、プロセス

+0

ありがとう、setShowSoftInputOnFocus(false)が機能します。私はなぜすべての反射のものをなぜ確実かはわかりません... – Rediska

+0

@Rediskaあなたはリフレクションが必要ではありませんが、アンドロイドスタジオで私はこの方法を見つけようとしましたが、それは提案リストになかったとあなたのAPIが21以上このメソッドを適用できますが、 –

0

は、以下のコードを
アンドロイド追加:windowSoftInputMode = "adjustPan"

+0

これは、アクティビティのすべてのEditTextに影響します。特異なもの。 – Rediska

0

のAndroidManifest.xml windowSoftInputMode

<activity android:name=".MyActivity" android:windowSoftInputMode="adjustPan"> </activity> 
0

は以下のコードを試して、それがキーボードを隠し:

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

まず、動作しません。次に、カスタムコンポーネントを設計しているので、アプリケーション全体の設定を変更することは適切ではありません。 – Rediska

0

なぜ編集テキストを無効にしないでください。それから、クリックでキーボードが表示されません。

android:editable="false" //from xml 
et.setEnabled(false); //from activity 

さらに、上記のコードをtrueに設定することで有効にすることもできます。キーボードを表示させる。また

あなたはあなたができるのEditTextにフォーカスを取得していない場合は、次の

et.requestFocus(); // from activity 

<EditText 
    android:id="@+id/et1" 
    android:editable="false" 
    android:layout_width="150dp" 
    android:layout_height="wrap_content" > 
    <requestFocus/> 
</EditText> 

// XMLから

・ホープ、このことができますが!

1

上逆転これは動作します:

editText.setShowSoftInputOnFocus(false); 
関連する問題