1

EditTextを押してフォーカスを取得しようとすると、中央から左に向かってのみ機能します。真ん中から右に押しても何も起こりません。

(width = fill_parentがあります)。

Android2.2と4.2.1でテストしました。両方で同じ動作。

なぜこれが発生し、「修正」できるのでしょうか。

Androidプラットフォームのバグですか?

アップデート:

最初は、アクティビティの開始時にキーボードを非表示にすることと関係があると思っていましたが、4つのオプションを試しました。

ベースのLinearLayoutに追加します(アクティビティの起動時にEditTextがフォーカスを取得しないようにチェックします)

<LinearLayout
....
android:focusable="true"
android:focusableInTouchMode="true" />

私も試しました:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

そしてマニフェストを変更します:

<activity.... android:windowSoftInputMode="adjustUnspecified|stateHidden"/>

そして、デフォルトの動作を使用します。

...すべて上記と同じ動作をします。

4

3 に答える 3

0

質問が更新されました。古い答え:

線形レイアウトxmlファイルで行ったことを削除し、このコードをcreateメソッドのアクティビティに配置して、キーボードが自動ポップアップしないようにします。

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
于 2012-12-05T11:31:50.063 に答える
0

なぜandroid:focusable = "true" android:focusableInTouchMode = "true"をLinearLayoutに追加したのですか?すべてのLinearLayoutで、ページの読み込み時に最初にフォーカス可能なアイテムにフォーカスが移ります。他のビューにフォーカスが必要な場合は、レイアウトのビューの後にタグを追加します。

于 2012-12-05T11:44:55.910 に答える
-1

問題を解決しました。EditTextの幅と関係がありました。

于 2012-12-07T11:06:11.113 に答える