問題を解決するために多くの時間が費やされ、それは簡単に見えますが、私は本当に疲れていて、解決策を見つけることができませんでした。アクティビティがあり、アクティビティには4つのEditTextコンポーネントがあり、そのうちの2つにはリストを含むポップアップメニュー(AlertDialog)があり、次の1つは編集が無効になっており、最後の1つは編集可能であり、ユーザーがそれをタップします。
また、私のルートLinearLayoutには、RelativeLayout内に含まれるLinearLayoutがあります。最後はAdvBannerの必要性です。最後のLinearLayout(RelativeLayout)は、ルートレイアウトの下部に配置されます。
それを説明するXMLの部分:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="bottom"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="bottom">
<RelativeLayout
android:id="@+id/AdvLayoutReserveArea"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:background="#FFFFFF"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="bottom" />
</LinearLayout>
アクティビティが開始されると、編集可能なEditTextは緑色の境界線でフォーカスを持ち、カーソルが点滅します。残り数秒後、AdvBannerがロードされて表示されます。それが起こると、編集可能なEditTextはフォーカスを失いました。この瞬間から、私の人生は悪夢のようになります。
ステップバイステップで見てみましょう。
問題1. この瞬間(Advがロードされて表示されたとき)でユーザーがソフトキーボードを介してEditTextフィールドを編集している場合、フォーカスが失われ、境界線が灰色になり、ユーザーがテキストを入力し続けると結果が得られません-記号は印刷されません(EditTextのCURSORが失われすぎています)。
テキストを入力しているときにカーソルが非アクティブになっていると、どのユーザーもイライラするだろうと思います。バックグラウンドでいくつかのadvが読み込まれ、自分自身にフォーカスが移るからです。
これを解決するために、Advがロードされたときのメソッド(表示)で、requestFocusメソッドを使用して手動でEditTextにフォーカスを戻そうとします。
public void onAdLoaded()
{
// TODO Auto-generated method stub
// add app specific code for this event here...
// called when an ad is successfully displayed on device
CountEdit1.requestFocus();
}
はい、カーソルはEditTextフィールドに戻ります。ソフトキーボードがアクティブな場合でも、ユーザーはテキストを入力できますが、EditTextフィールドの境界線は灰色のままです...
注:実際には、フォーカスされたEditTextのGREENとGRAYの境界線の違いについてはわかりません。GREENは通常、ユーザーがそれをタップしているときであり、GRAYは、おそらく手動でフォーカスを要求するときです(requestFocus()などを使用)。 )。
問題2。(溶媒和問題#1の結果として)。ソフトキーボードを閉じた後、ユーザーが編集可能なEditTextフィールドをタップすると、フォーカスが移動してカーソルが内部に表示されますが、ソフトキーボードを再度表示しても反応はありません。それをタップしてもソフトキーボードは表示されませんが、コピーモードの編集フィールドのように見えます-ユーザーがテキストを選択してクリップボードにカット/コピーできる場合。
私の目標は一見簡単です。ソフトキーボードが表示され、ユーザーがテキストを入力しているときに、カーソルを保存して編集可能なEditTextフィールド(CountEdit1)にフォーカスしたいだけです。そして、ユーザーがEditTextをタップしたときの通常の反応-いつものように、ソフトキーボードを見せてください!
ここですべての問題を読み、さまざまなメソッド(clearFocus、requestFocusFromTouchなど)を組み合わせましたが、これを解決するために試みたすべてのことを説明するのに十分な時間とスペースがありませんでした。主な問題は上記のとおりです。
助けと問題の解決を願っています...よろしくお願いします。