Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 间隙广告不是每次点击都显示广告,而是每隔几秒钟显示一次广告_Java_Android_Admob_Interstitial_Google Admob - Fatal编程技术网

Java 间隙广告不是每次点击都显示广告,而是每隔几秒钟显示一次广告

Java 间隙广告不是每次点击都显示广告,而是每隔几秒钟显示一次广告,java,android,admob,interstitial,google-admob,Java,Android,Admob,Interstitial,Google Admob,我刚接触安卓3个月,在我的代码中,每隔几秒钟就会显示一次间隙广告,而不是每次点击都会显示广告。我无法找出问题所在,也无法找到任何类似于我要求的示例 我的要求是每次点击都应该显示插页广告 我们非常感谢您的任何建议或帮助 基于堆栈溢出后,我集成了广告,但它没有按照我的要求和帮助是高度赞赏工作 代码: public class AttractionListFragment extends Fragment { private AttractionAdapter mAdapter; private L

我刚接触安卓3个月,在我的代码中,每隔几秒钟就会显示一次间隙广告,而不是每次点击都会显示广告。我无法找出问题所在,也无法找到任何类似于我要求的示例

我的要求是每次点击都应该显示插页广告

我们非常感谢您的任何建议或帮助

基于堆栈溢出后,我集成了广告,但它没有按照我的要求和帮助是高度赞赏工作

代码:

public class AttractionListFragment extends Fragment {

private AttractionAdapter mAdapter;
private LatLng mLatestLocation;
private int mImageSize;
private boolean mItemClicked;
private InterstitialAd mInterstitialAd;

public AttractionListFragment() {}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Load a larger size image to make the activity transition to the detail screen smooth
    mImageSize = getResources().getDimensionPixelSize(R.dimen.image_size)
            * Constants.IMAGE_ANIM_MULTIPLIER;

    mLatestLocation = Utils.getLocation(getActivity());
    List<Attraction> attractions = loadAttractionsFromLocation(mLatestLocation);
    mAdapter = new AttractionAdapter(getActivity(), attractions);

    final View view = inflater.inflate(R.layout.fragment_main, container, false);
    AttractionsRecyclerView recyclerView =
            (AttractionsRecyclerView) view.findViewById(android.R.id.list);
    recyclerView.setEmptyView(view.findViewById(android.R.id.empty));
    recyclerView.setHasFixedSize(true);
    recyclerView.setAdapter(mAdapter);

    MobileAds.initialize(getActivity(), "ca-app-pub-3940256099942544~3347511713");
    mInterstitialAd = new InterstitialAd(this.getContext());
    mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");

    AdRequest request = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();

    mInterstitialAd.loadAd(request);

    mInterstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            super.onAdLoaded();
            if (mInterstitialAd.isLoaded())
            mInterstitialAd.show();
        }

     /*   public void onAdClosed() {
            mInterstitialAd.loadAd(new AdRequest.Builder().build());
        } */
    });

    return view;
}

@Override
public void onResume() {
    super.onResume();
    mItemClicked = false;
    LocalBroadcastManager.getInstance(getActivity()).registerReceiver(
            mBroadcastReceiver, UtilityService.getLocationUpdatedIntentFilter());
}

@Override
public void onPause() {
    super.onPause();
    LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(mBroadcastReceiver);
}

private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        Location location =
                intent.getParcelableExtra(FusedLocationProviderApi.KEY_LOCATION_CHANGED);
        if (location != null) {
            mLatestLocation = new LatLng(location.getLatitude(), location.getLongitude());
            mAdapter.mAttractionList = loadAttractionsFromLocation(mLatestLocation);
            mAdapter.notifyDataSetChanged();
        }
    }
};

private static List<Attraction> loadAttractionsFromLocation(final LatLng curLatLng) {
    String closestCity = TouristAttractions.getClosestCity(curLatLng);
    if (closestCity != null) {
        List<Attraction> attractions = ATTRACTIONS.get(closestCity);
        if (curLatLng != null) {
            Collections.sort(attractions,
                    new Comparator<Attraction>() {
                        @Override
                        public int compare(Attraction lhs, Attraction rhs) {
                            double lhsDistance = SphericalUtil.computeDistanceBetween(
                                    lhs.location, curLatLng);
                            double rhsDistance = SphericalUtil.computeDistanceBetween(
                                    rhs.location, curLatLng);
                            return (int) (lhsDistance - rhsDistance);
                        }
                    }
            );
        }
        return attractions;
    }
    return null;
}

private class AttractionAdapter extends RecyclerView.Adapter<ViewHolder>
        implements ItemClickListener {

    public List<Attraction> mAttractionList;
    private Context mContext;

    public AttractionAdapter(Context context, List<Attraction> attractions) {
        super();
        mContext = context;
        mAttractionList = attractions;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        LayoutInflater inflater = LayoutInflater.from(mContext);
        View view = inflater.inflate(R.layout.list_row, parent, false);
        return new ViewHolder(view, this);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        Attraction attraction = mAttractionList.get(position);

        holder.mTitleTextView.setText(attraction.name);
        holder.mDescriptionTextView.setText(attraction.description);
        Glide.with(mContext)
                .load(attraction.imageUrl)
                .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                .placeholder(R.drawable.empty_photo)
                .override(mImageSize, mImageSize)
                .into(holder.mImageView);

        String distance =
                Utils.formatDistanceBetween(mLatestLocation, attraction.location);
        if (TextUtils.isEmpty(distance)) {
            holder.mOverlayTextView.setVisibility(View.GONE);
        } else {
            holder.mOverlayTextView.setVisibility(View.VISIBLE);
            holder.mOverlayTextView.setText(distance);
        }
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public int getItemCount() {
        return mAttractionList == null ? 0 : mAttractionList.size();
    }

    @Override
    public void onItemClick(View view, int position) {
        if (!mItemClicked) {
            mItemClicked = true;
            View heroView = view.findViewById(android.R.id.icon);
            DetailActivity.launch(
                    getActivity(), mAdapter.mAttractionList.get(position).name, heroView);
        }

    }
}

private static class ViewHolder extends RecyclerView.ViewHolder
        implements View.OnClickListener {

    TextView mTitleTextView;
    TextView mDescriptionTextView;
    TextView mOverlayTextView;
    ImageView mImageView;
    ItemClickListener mItemClickListener;

    public ViewHolder(View view, ItemClickListener itemClickListener) {
        super(view);
        mTitleTextView = (TextView) view.findViewById(android.R.id.text1);
        mDescriptionTextView = (TextView) view.findViewById(android.R.id.text2);
        mOverlayTextView = (TextView) view.findViewById(R.id.overlaytext);
        mImageView = (ImageView) view.findViewById(android.R.id.icon);
        mItemClickListener = itemClickListener;
        view.setOnClickListener(this);

    }

    @Override
    public void onClick(View v)
    {
        mItemClickListener.onItemClick(v, getAdapterPosition());

    }
}

interface ItemClickListener {
    void onItemClick(View view, int position);
}
公共类AttractionListFragment扩展了片段{
私有吸引适配器mAdapter;
私人车床位置;
私有整数图像大小;
私有布尔斜接;
私人间质;
公共AttractionListFragment(){}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//加载较大尺寸的图像,使活动平滑过渡到详细信息屏幕
mImageSize=getResources().getDimensionPixelSize(R.dimen.image_size)
*常数.IMAGE\u ANIM\u乘数;
mLatestLocation=Utils.getLocation(getActivity());
列出景点=从位置(mLatestLocation)加载景点;
mAdapter=新的AttractionAdapter(getActivity(),attractions);
最终视图=充气机。充气(R.layout.fragment_main,容器,假);
吸引回收视图回收视图=
(AttractionsRecyclerView)view.findviewbyd(android.R.id.list);
recyclerView.setEmptyView(view.findViewById(android.R.id.empty));
recyclerView.setHasFixedSize(true);
recyclerView.setAdapter(mAdapter);
初始化(getActivity(),“ca-app-pub-3940256099942544~3347517113”);
minterstitalad=newinterstitalad(this.getContext());
Minterstitalad.setAdUnitId(“ca-app-pub-3940256099942544/1033173712”);
AdRequest request=新建AdRequest.Builder().addTestDevice(AdRequest.DEVICE\u ID\u EMULATOR.build();
Minterstitalad.loadAd(请求);
minterstitalad.setAdListener(新的AdListener(){
@凌驾
已加载的公共无效(){
super.onadload();
if(minterstitalad.isload())
minterstitalad.show();
}
/*已关闭的()上的公共无效{
minterstitalad.loadAd(新的addRequest.Builder().build());
} */
});
返回视图;
}
@凌驾
恢复时公开作废(){
super.onResume();
mItemClicked=false;
LocalBroadcastManager.getInstance(getActivity()).registerReceiver(
mBroadcastReceiver,UtilityService.getLocationUpdatedEndFilter());
}
@凌驾
公共无效暂停(){
super.onPause();
LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(mBroadcastReceiver);
}
专用广播接收器mBroadcastReceiver=新广播接收器(){
@凌驾
公共void onReceive(上下文、意图){
位置=
intent.getParcelableExtra(FusedLocationProviderApi.KEY\u LOCATION\u已更改);
如果(位置!=null){
mLatestLocation=newlatlng(location.getLatitude(),location.getLongitude());
mAdapter.mAttractionList=来自位置(mLatestLocation)的加载属性;
mAdapter.notifyDataSetChanged();
}
}
};
私有静态列表loadAttractionsFromLocation(最终LatLng curLatLng){
String closestCity=TouristAttractions.getClosestCity(curlatng);
if(closestCity!=null){
列出景点=景点。获取(最接近的城市);
if(curLatLng!=null){
收藏。分类(景点),
新比较器(){
@凌驾
公共int比较(景点左侧、景点右侧){
双LHS距离=球体粘性计算距离(
lhs.位置,卷曲);
double rhsDistance=球体粘性。计算的距离介于(
rhs.位置,卷曲);
返回(int)(左侧距离-右侧距离);
}
}
);
}
返回景点;
}
返回null;
}
私有类AttractionAdapter扩展了RecyclerView.Adapter
实现ItemClickListener{
公开名单专家;
私有上下文;
公共吸引适配器(上下文、列表吸引){
超级();
mContext=上下文;
mAttractionList=景点;
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
LayoutFlater充气机=LayoutFlater.from(mContext);
视图=充气机。充气(R.layout.list_行,父项,false);
返回新的ViewHolder(视图,此);
}
@凌驾
公共无效onBindViewHolder(ViewHolder,int位置){
吸引力=MATTRACTOLIST.get(位置);
holder.mTitleTextView.setText(景点名称);
holder.mdDescriptionTextView.setText(景点.说明);
使用(mContext)滑动
.load(attraction.imageUrl)
.diskCacheStrategy(diskCacheStrategy.SOURCE)
.占位符(R.可绘制.空\u照片)
.覆盖(mImageSize,mImageSize)
.插入(保持架.mImageView);
串距=
Utils.formatDistanceBeween(mLatestLocation、attraction.location);
if(TextUtils.isEmpty(距离)){
holder.mOverlayTextView.setVisibility(View.GONE);
}否则{
holder.mOverlayTextView.setVisibility(View.VISIBLE);
holder.mOverlayTextView.setText(距离);
}
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@凌驾
公共int getItemCou
@Override
    public void onAdLoaded() {
        super.onAdLoaded();
        if (mInterstitialAd.isLoaded())
        mInterstitialAd.show();
    }
myButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mInterstitialAd.isLoaded())
                mInterstitialAd.show();
        }
    });
  private static class ViewHolder extends RecyclerView.ViewHolder
        implements View.OnClickListener {

    TextView mTitleTextView;
    TextView mDescriptionTextView;
    TextView mOverlayTextView;
    ImageView mImageView;
    ItemClickListener mItemClickListener;
    private InterstitialAd mInterstitialAd;



    public ViewHolder(View view, ItemClickListener itemClickListener) {
        super(view);
        mTitleTextView = (TextView) view.findViewById(android.R.id.text1);
        mDescriptionTextView = (TextView) view.findViewById(android.R.id.text2);
        mOverlayTextView = (TextView) view.findViewById(R.id.overlaytext);
        mImageView = (ImageView) view.findViewById(android.R.id.icon);
        mItemClickListener = itemClickListener;
        view.setOnClickListener(this);

    MobileAds.initialize(view.getContext(), "ca-app-pub-3940256099942544~3347511713");
    mInterstitialAd = new InterstitialAd(view.getContext());
    mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");

    AdRequest request = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();

    mInterstitialAd.loadAd(request);

    mInterstitialAd.setAdListener(new AdListener() {

        public void onAdClosed() {
            mInterstitialAd.loadAd(new AdRequest.Builder().build());
        }
    });

    }

    @Override
    public void onClick(View v)
    {
        mItemClickListener.onItemClick(v, getAdapterPosition());
        if (mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        }
    }
}

interface ItemClickListener {
    void onItemClick(View view, int position);
}
}