0

我为 Android ICS 重新设计了我的应用程序并遇到了以下问题。广告是在主线程的 oncreate 中下载的,因此文章(由 webview 显示)不会出现,直到广告不会加载。如何在新线程中加载广告?

下面是 WebView Activity 的代码:

@Override
    public void onCreate(Bundle savedInstanceState) {
        setTheme(R.style.Theme_Sherlock_Light);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_webview);
        showActionBar();

    adView = (AdView) findViewById(R.id.adView);
    adView.setAdListener(this);
....
}
....
@Override
    public void onDismissScreen(Ad arg0) {
    }

    @Override
    public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
        ads_view.setVisibility(View.GONE);
    }

    @Override
    public void onLeaveApplication(Ad arg0) {
    }

    @Override
    public void onPresentScreen(Ad arg0) {
    }

    @Override
    public void onReceiveAd(Ad arg0) {
        ads_view.setVisibility(View.VISIBLE);
    }

此外,我将 adView 块放在具有 ID“ads_view”的 RelativeLayout 中。

此方法不起作用:

adView = (AdView) findViewById(R.id.adView);
        adView.setAdListener(this);

        (new Thread() {
            public void run() {
                 Looper.prepare();
                adView.loadAd(new AdRequest());
            }
        }).start();

请帮忙。

4

1 回答 1

0

loadAd 调用需要在 UI 线程上进行,因为 SDK 最终会添加到您的视图层次结构中。

您的应用程序是否有一个在收到广告之前不显示的 WebView?你的布局是什么样的?在收到广告之前,您是否有机会将文章的视图设置为 NONE?

于 2012-09-07T23:00:32.330 回答