Android 为什么AdMob会弄乱EditText流和键盘?
我正在完成一个Android计算器应用程序,我有两个版本:免费版和完整版。我注意到,在免费版本中,当一个广告显示在屏幕上时,EditText字段的流不会一直到最后一个EditText;这意味着,当用户在虚拟键盘上点击“下一步”时,当下一个字段(我猜)包含在另一个LinearLayout中时,流中断,但如果输入字段位于同一个LinearLayout父项中,则流可以工作。在完整的版本中,没有广告,它工作得完美无缺 此外,当用户位于最后一个字段时,虚拟键盘显示“完成”按钮;在自由版本中,单击此按钮时,键盘将从仅数字键盘(Android 为什么AdMob会弄乱EditText流和键盘?,android,keyboard,admob,Android,Keyboard,Admob,我正在完成一个Android计算器应用程序,我有两个版本:免费版和完整版。我注意到,在免费版本中,当一个广告显示在屏幕上时,EditText字段的流不会一直到最后一个EditText;这意味着,当用户在虚拟键盘上点击“下一步”时,当下一个字段(我猜)包含在另一个LinearLayout中时,流中断,但如果输入字段位于同一个LinearLayout父项中,则流可以工作。在完整的版本中,没有广告,它工作得完美无缺 此外,当用户位于最后一个字段时,虚拟键盘显示“完成”按钮;在自由版本中,单击此按钮时,
InputType:number
)变为包含所有字母等的完整键盘。。。而且不会消失。但是,在没有admob的完整版本上,键盘会像人们想象的那样消失
我不知道admob的位置是否重要,但这基本上就是标记:
<LinearLayout>
<LinearLayout>
<calculator_labels_and_fields>
Calculator goes here
</calculator_labels_and_fields>
</LinearLayout>
<LinearLayout>
The ad from AdMob
</LinearLayout>
</LinearLayout>
计算器在这里
AdMob的广告
我希望这是清楚的。我是Android开发者的新手,不知道如何处理这个非常具体的行为。好的,所以我想出了一个解决方案,我所要做的就是为每个输入字段明确定义
nextFocusDown
,在最后一个输入字段中,我定义了imeOptions=“actionDone”
。下面是一个简单的例子:
<EditText
android:id="@+id/et_field_1"
android:inputType="numberDecimal"
android:nextFocusDown="@id/et_field_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/et_field_2"
android:inputType="numberDecimal"
android:nextFocusDown="@id/et_field_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/et_field_3"
android:inputType="numberDecimal"
android:imeOptions="actionDone"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
我仍然不知道为什么AdMob会干扰输入流,但幸运的是,我找到了一个解决方案。不管怎样,通常最好定义这些值,这样就好了