gpt4 book ai didi

Android,Admob/Adview takes|steals focus from edittext,如何预防?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:44:51 25 4
gpt4 key购买 nike

我正在创建 View 并将这些 View 添加到 linearlayout ,这些输入是从屏幕底部的 edittext 中获取的,就像一个消息传递应用程序。每当我按下“完成”按钮时,它都会触发并将该消息添加到该消息线性布局中。

问题:

当我想在这些消息之间放置广告 View 时,例如每 10 条消息之间。 Edittext 失去焦点,导致整个布局向下滚动。

我想要什么:

Edittext 不应该失去焦点,每次它都应该处于 Activity 状态,等待键盘打开时输入。

我试过但没用:

if (messageCounter % 10 == 0) {

LinearLayout advertisedMessageLayout = new LinearLayout(this);
advertisedMessageLayout.setOrientation(LinearLayout.VERTICAL);
advertisedMessageLayout.setLayoutParams(new LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

AdView av = new AdView(this, AdSize.BANNER, MBConstants.ADVIEW_ID);
//remove focus for every child of adview
for (int i = 0; i < av.getChildCount(); i++) {
av.getChildAt(i).setFocusable(false);
av.getChildAt(i).setFocusableInTouchMode(false);
av.getChildAt(i).setClickable(false);

}
av.setFocusable(false);
av.setFocusableInTouchMode(false);
av.setClickable(false);
av.setEnabled(false);

AdRequest request = new AdRequest();
av.loadAd(request);

advertisedMessageLayout.addView(messageRow);
advertisedMessageLayout.addView(av);


return advertisedMessageLayout;

}

是否有任何可能的方法来防止 adview 获得焦点并表现得像普通 View 一样?

谢谢。

最佳答案

要解决该问题,您需要在 onAdLoaded 事件中设置 AdView 布局参数。

@Override
public void onAdLoaded() {
super.onAdLoaded();
LinearLayout.LayoutParams lay = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
adView.setLayoutParams(lay);
}

关于Android,Admob/Adview takes|steals focus from edittext,如何预防?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14671260/

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