【发布时间】:2013-01-18 05:43:54
【问题描述】:
我正在创建视图并将这些视图添加到一个线性布局中,这些输入来自屏幕底部的edittext,就像一个消息应用程序一样。每当我按下“完成”按钮时,它都会触发并将该消息添加到该消息线性布局中。
问题:
当我想在这些消息之间放置 adview 时,例如每 10 条消息之间。 Edittext 失去焦点,导致整个布局向下滚动。
我想要什么:
Edittext 不应该失去焦点,并且每次它应该处于活动状态,等待键盘打开的输入。
我尝试过但没有成功:
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 获得焦点并表现得像普通视图?
谢谢。
【问题讨论】:
-
在按钮点击添加消息后尝试调用EditText.requestFocus()
-
对不起,我忘了提,我也尝试过请求焦点到那个edittext,但是adview似乎每次都太贪心了!
标签: android focus admob setfocus adview