gpt4 book ai didi

android - 为什么 AdMob 会弄乱 EditText 流程和键盘?

转载 作者:行者123 更新时间:2023-11-30 00:16:10 26 4
gpt4 key购买 nike

我正在完成一个 Android 计算器应用程序,我有两个版本:免费版和完整版。我注意到在免费版本中,当屏幕上显示广告时,EditText 字段的流不会一直向下到最后一个 EditText;这意味着当用户在虚拟键盘上点击“NEXT”时,当下一个字段(我猜)包含在另一个 LinearLayout 中时流程中断,但如果输入字段位于同一个 LinearLayout 父级中,它会起作用。在没有广告的完整版本中,它可以完美运行。

此外,当用户在最后一个字段时,虚拟键盘显示“DONE”按钮;在免费版本中,单击此按钮后,键盘从纯数字键盘 (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>

我希望这是清楚的。我是 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 会扰乱输入流,但幸运的是我找到了解决方案。无论如何,通常最好定义这些值,所以一切都很好。

关于android - 为什么 AdMob 会弄乱 EditText 流程和键盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47250512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com