admob не отображается при вызове из фрагмента

#android #android-fragments #admob #fragment

#Android #android-фрагменты #admob #фрагмент

Вопрос:

я создаю admob из activity, это добавление работает отлично, но когда я вызываю admob из фрагмента, он загружается, но не отображается.

 private AdView adview;
    AdRequest adRequest;
        ll = (LinearLayout) view.findViewById(R.id.university_add);
adview = new AdView(getActivity());
        adRequest = new AdRequest.Builder().build();
adview.setAdSize(AdSize.BANNER);
            adview.setAdUnitId("ca-app-pub-9420490853351882/9515223255");
ll.addView(adview);


            final AdListener listener = new AdListener() {
                @Override
                public void onAdLoaded() {
                    param.weight = 8.4f;
                    aq.id(R.id.listView1).getView().setLayoutParams(param);
                    aq.id(R.id.university_add).getView()
                            .setVisibility(View.VISIBLE);
                    aq.id(R.id.university_1).getView().setVisibility(View.VISIBLE);
                    // Toast.makeText(getActivity(), "Loaded ",
                    // Toast.LENGTH_SHORT).show();
                    // adview.setVisibility(View.VISIBLE);
                }
            };

            adview.setAdListener(listener); 
adview.loadAd(adRequest);
  

Ответ №1:

Попробуйте сделать это так..

    public class MyClass extends FragmentActivity implements AdListener 
{
    // Create an ad.
    adView = new AdView(this, AdSize.SMART_BANNER, "MY_ID");
    // Set the AdListener.
    adView.setAdListener(this);
    // Add the AdView to the view hierarchy. The view will have no size until the ad is loaded.
    RelativeLayout layout = (RelativeLayout) findViewById(R.id.home_layout);
    RelativeLayout.LayoutParams adsParams =new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    adsParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    layout.addView(adView,adsParams);
    AdRequest adRequest = new AdRequest();
    adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
    // Start loading the ad in the background.
    adView.loadAd(adRequest);
}