[解決済み] NumberPickerのソフトキーボードを無効にする
2022-04-14 10:28:17
質問
NumberPickerで数値を入力する際に、ソフトキーボードを無効にしようとしています(美観上の理由による)。これは私のlayout-xml-codeです。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="30dp"
android:layout_marginTop="30dp" >
<NumberPicker
android:id="@+id/repetitionPicker"
android:layout_width="40dp"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/repetitions_short_divider"
android:textAppearance="?android:attr/textAppearanceMedium" />
<NumberPicker
android:id="@+id/weightPicker"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/pounds"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<Button
android:id="@+id/saveButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/save" />
</LinearLayout>
そして最後に、onCreate()メソッドでキーボードをブロックしているコードです。
// hide keyboard
View.OnClickListener disableKeyBoardListener = new View.OnClickListener() {
public void onClick(View v) {
((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
};
((EditText) weightPicker.getChildAt(1)).setInputType(InputType.TYPE_NULL);
((EditText) repetitionPicker.getChildAt(1)).setInputType(InputType.TYPE_NULL);
((EditText) weightPicker.getChildAt(1)).setOnClickListener(disableKeyBoardListener);
//((EditText) repetitionPicker.getChildAt(1)).setOnClickListener(disableKeyBoardListener);
//weightPicker.setOnClickListener(disableKeyBoardListener);
//repetitionPicker.setOnClickListener(disableKeyBoardListener);
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
悲しいことに、NumberPickerをクリックするとソフトキーボードが表示されたままです。何かアイデアはありますか?
解決方法は?
ちょうどこれを見つけたので、魅力的に動作します。
myNumberPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
また、XMLで設定することもできます。
android:descendantFocusability="blocksDescendants"
関連
-
android studioが "The activity must be exported or contain an intent-filter" と表示され実行される。
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidのランドスケープモードを無効にする方法を教えてください。
-
[解決済み] Androidでソフトウェアキーボードの表示状態を確認する方法を教えてください。
-
[解決済み] Android: キーボードの入力ボタンに「検索」と表示させ、そのクリックを処理する方法は?
-
[解決済み] 編集テキストをクリックした後、ソフトキーボードを隠すには?
-
[解決済み] Android: EditTextにフォーカスがあるとき、自動的にソフトキーボードを表示する
-
[解決済み】ランドスケープでソフトキーボード入力のためのフルスクリーン編集ビューを無効にする?
-
[解決済み】編集テキストにフォーカスが当たっている時にソフトキーボードを表示させる方法
-
[解決済み] ソフトキーボードが表示されたときにレイアウトを調整する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
java.lang.NullPointerException: NULLオブジェクト参照で仮想メソッド......を呼び出そうとしました。
-
ジャークとして。起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりません アクティビティ起動中のエラー
-
GIF、Lottie、SVGA
-
アプリはGoogle検索でインデックスされません Androidmanifestのクソみたいな黄色い警告
-
アンドロイドスタジオのエラーを解決する --> Error:(1, 0) id 'com.android.application' を持つプラグインが見つかりません。
-
repo: コマンドが見つかりません
-
アンドロイドスタジオ学習入門
-
Android.support.v7.widget.Toolbar が見つかりませんでした。
-
Android studio 制約レイアウト ConstraintLayout
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法