不要让AdMob广告要求重点关注?

时间:2012-06-26 19:02:27

标签: java android android-edittext admob ads

我在布局中有一个EditText,并且我还在布局的底部放置了AdMob广告,当有人在EditText中输入某些东西时,假设这是键盘按钮右上角的“完成”按钮,但是在我添加AdMob后,它有一个“下一步”按钮,当您按下它时,它会关注广告!有没有办法禁用它?

我的XML:

<com.google.ads.AdView android:id="@+id/adView"
        android:focusable="false"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adUnitId="XXXXXXXXXXX"
        ads:adSize="BANNER"
        ads:testDevices="XXXXXXXXXXX"/>

我的Java:

    if (showAds == true) {
    AdView adView = (AdView)this.findViewById(R.id.adView);
    adView.loadAd(new AdRequest());
                         }

注意:我不知道这是否重要,但我使用的是ViewPager,因此AdView位于我的Main.xml布局文件中,而EditText位于我的ViewPager膨胀的布局上。

3 个答案:

答案 0 :(得分:5)

如果您想在EditText中保留“完成”按钮,请将此属性添加到其中:android:imeOptions="actionDone"。这将强制“完成”按钮出现在软键盘上。

如果您想要保留“下一步”按钮,并让其跳过AdView,则可以在点击“下一步”时使用this method跳过AdView。< / p>

答案 1 :(得分:0)

这对我不起作用,在editText失去焦点ACTION_DONE被触发后,AdMob webView获得焦点并保持专注,除非用户触摸屏幕。要纠正此问题,请从当前焦点移除焦点或关闭软键盘

etAddNote.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_DONE) {           
                activity.getCurrentFocus().clearFocus();

                return true;
            }
            return false;
        }
    });

或关闭软键盘

etAddNote.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_DONE) {
                View view = activity.getCurrentFocus();
                if (view != null) {
                    InputMethodManager imm = (InputMethodManager) activity
                            .getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
                }
                return true;
            }
            return false;
        }
    });

答案 2 :(得分:0)

只需在根布局中添加此标记即可。

android:descendantFocusability="blocksDescendants"

实施例

<ScrollView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <LinearLayout
        android:descendantFocusability="blocksDescendants"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        .
        .
        .
        .
        </LinearLayout>
</ScrollView>