Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/403.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 Admob间质性ad在片段转换为活性时未显示_Java_Android Studio_Android Layout_Android Fragments_Admob - Fatal编程技术网

Java Admob间质性ad在片段转换为活性时未显示

Java Admob间质性ad在片段转换为活性时未显示,java,android-studio,android-layout,android-fragments,admob,Java,Android Studio,Android Layout,Android Fragments,Admob,到目前为止,我还不知道android应用程序中的admob。这是我第一次 下面是DashboardFragment.java public class DashboardFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener{ private DashboardViewModel dashboardViewModel; public static final String API_KEY= "e96f2

到目前为止,我还不知道android应用程序中的admob。这是我第一次

下面是DashboardFragment.java

public class DashboardFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener{

private DashboardViewModel dashboardViewModel;
public static final String API_KEY= "e96f2eb28f2540bf98757628abd274b3";
private RecyclerView recyclerView;
private RecyclerView.LayoutManager layoutManager;
private List<Article> articles = new ArrayList<>();
private Adapter adapter;
private String TAG = DashboardFragment.class.getSimpleName();
private SwipeRefreshLayout swipeRefreshLayout;
private RelativeLayout errorLayout;
private ImageView errorImage;
private TextView errorTitle,errorMessage;
private Button btnRetry;
private Switch myswitch;
private InterstitialAd interstitialAd;

@SuppressLint("ResourceAsColor")
public View onCreateView(@NonNull LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {
    dashboardViewModel =
            ViewModelProviders.of(this).get(DashboardViewModel.class);
    View root = inflater.inflate(R.layout.fragment_dashboard, container, false);
    Toast.makeText(getActivity(), "Origin News", Toast.LENGTH_SHORT).show();
    super.onCreate(savedInstanceState);
    swipeRefreshLayout=root.findViewById(R.id.swipe_refresh_layout);
    swipeRefreshLayout.setOnRefreshListener(this);
    swipeRefreshLayout.setColorSchemeColors(R.color.colorAccent);
    recyclerView = root.findViewById(R.id.recyclerView);
    layoutManager = new LinearLayoutManager(getActivity()   );
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.setNestedScrollingEnabled(false);

    setHasOptionsMenu(true);
    onLoadingSwipeRefresh("");

    errorLayout = root.findViewById(R.id.errorLayout);
    errorImage = root.findViewById(R.id.errorImage);
    errorTitle = root.findViewById(R.id.errorTitle) ;
    errorMessage = root.findViewById(R.id.errorMessage);
    btnRetry = root.findViewById(R.id.btnRetry);
    MobileAds.initialize(getActivity(),"ca-app-pub-6862851420275633~8406415898");
    interstitialAd = new InterstitialAd(getActivity());
    interstitialAd.setAdUnitId("ca-app-pub-6862851420275633/3227253163");
    interstitialAd.loadAd(new AdRequest.Builder().build());


    return root;
}
public void LoadJson(final String keyword){
    errorLayout.setVisibility(View.GONE);
    swipeRefreshLayout.setRefreshing(true);

    final ApiInterface apiInterface = ApiClient.getApiClient().create(ApiInterface.class);
    String country = Utils.getCountry();
    String language =Utils.getLanguage();
    Call<News> call;

    if(keyword.length()>0){
        call = apiInterface.getNewsSearch(keyword,language,"publishedAt",API_KEY);
    }else{
        call= apiInterface.getNews(country,API_KEY);
    }

    call.enqueue(new Callback<News>() {
        @Override
        public void onResponse(Call<News> call, Response<News> response) {
            if(response.isSuccessful() && response.body().getArticle() != null){
                if(!articles.isEmpty()){
                    articles.clear();
                }
                articles = response.body().getArticle();
                adapter = new Adapter(articles,getActivity());
                recyclerView.setAdapter(adapter);
                adapter.notifyDataSetChanged();

                initListner();
                swipeRefreshLayout.setRefreshing(false);

            }else{
                swipeRefreshLayout.setRefreshing(false);

                String errorCode;
                switch (response.code()){
                    case 404:
                        errorCode = "404 not found,don't worry you are on Origin";
                    case 500:
                        errorCode = "505 server broken,don't worry you are on Origin";
                    default:
                        errorCode="unknown error,don't worry you are on Origin";
                        break;
                }
                showErrorMessage(R.drawable.no_result,
                        "no result",
                        "Please Try Again\n"+
                                errorCode);

            }
        }

        @Override
        public void onFailure(Call<News> call, Throwable t) {
            swipeRefreshLayout.setRefreshing(false);
            showErrorMessage(R.drawable.no_result,
                    "Oops!",
                    "Network failure,Please Try Later,don't worry we will back soon. \n Origin"+ t.toString());

        }
    });

}
private void initListner(){
    adapter.setOnItemClickListener(new Adapter.OnItemClickListener() {
        @Override
        public void onItemClick(View view, int position) {
            ImageView imageView =view.findViewById(R.id.img);
            Intent intent = new Intent(getActivity(), NewsDetailActivity.class);

            Article article = articles.get(position);
            intent.putExtra("url",article.getUrl());
            intent.putExtra("title",article.getTitle());
            intent.putExtra("img",article.getUrlToImage());
            intent.putExtra("date",article.getPublishedAt());
            intent.putExtra("source",article.getSource().getName());
            intent.putExtra("author",article.getAuthor());

            Pair<View, String> pair = Pair.create((View)imageView, ViewCompat.getTransitionName(imageView));
            ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(
                    getActivity(),
                    pair


            );
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){

                startActivity(intent,optionsCompat.toBundle());

            }else{
                startActivity(intent);
            }

        }
    });
}


@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)  {
    inflater.inflate(R.menu.menu_main,menu);
    SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
    final SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
    MenuItem searchMenuItem = menu.findItem(R.id.action_search);
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
    searchView.setQueryHint("Search Latest News...");
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            if(query.length()>2){
                onLoadingSwipeRefresh(query);
            }else{
                Toast.makeText(getActivity(), "Type More than two letters", Toast.LENGTH_SHORT).show();

            }
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            return false;
        }
    });
    searchMenuItem.getIcon().setVisible(false,false);
    super.onCreateOptionsMenu(menu,inflater);
}

@Override
public boolean onOptionsItemSelected(MenuItem item){

    switch (item.getItemId()){
        case R.id.action_settings:
            startActivity(new Intent(getActivity(), SettingsActivity.class));
            return true;
        case R.id.dark_mode:
            if(interstitialAd.isLoaded())
            {
                interstitialAd.show();
            }
            else {

                startActivity(new Intent(getActivity(), DarkMode.class));
            }

            return true;

        default:
            return super.onOptionsItemSelected(item);

    }

}


@Override
public void onRefresh() {
    LoadJson("");


}
private void onLoadingSwipeRefresh(final String keyword){
    swipeRefreshLayout.post(
            new Runnable() {
                @Override
                public void run() {
                    LoadJson(keyword);

                }
            }
    );
}
private void showErrorMessage(int imageView,String title,String message){
    if(errorLayout.getVisibility()==View.GONE){
        errorLayout.setVisibility(View.VISIBLE);
    }
    errorImage.setImageResource(imageView);
    errorTitle.setText(title);
    errorMessage.setText(message);
    btnRetry.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){
            onLoadingSwipeRefresh("");
        }
    });
}
公共类DashboardFragment扩展片段实现SwipeRefreshLayout.OnRefreshListener{
专用仪表板视图模型仪表板视图模型;
公共静态最终字符串API_KEY=“e96f2eb28f2540bf98757628abd274b3”;
私人回收站;
private RecyclerView.LayoutManager LayoutManager;
private List articles=new ArrayList();
专用适配器;
私有字符串标记=DashboardFragment.class.getSimpleName();
私人SwipeRefreshLayout SwipeRefreshLayout;
私人关系布局;
私有图像查看错误图像;
私有文本查看错误标题,错误消息;
私人按钮btnRetry;
专用交换机;
私人间质;
@SuppressLint(“资源色”)
公共视图onCreateView(@NonNull layoutiner充气机,
视图组容器,捆绑包savedInstanceState){
仪表板视图模型=
ViewModelProviders.of(this.get)(仪表板viewmodel.class);
视图根=充气机。充气(R.layout.fragment_仪表板,容器,错误);
Toast.makeText(getActivity(),“原始新闻”,Toast.LENGTH_SHORT.show();
super.onCreate(savedInstanceState);
swipeRefreshLayout=root.findviewbyd(R.id.swipe\u refresh\u layout);
swipeRefreshLayout.setOnRefreshListener(此);
swipeRefreshLayout.setColorSchemeColors(R.color.colorAccent);
recyclerView=root.findViewById(R.id.recyclerView);
layoutManager=新的LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
setItemAnimator(新的DefaultItemAnimator());
recyclerView.setNestedScrollingEnabled(false);
设置选项菜单(真);
onLoadingSwipeRefresh(“”);
errorLayout=root.findViewById(R.id.errorLayout);
errorImage=root.findViewById(R.id.errorImage);
errorTitle=root.findViewById(R.id.errorTitle);
errorMessage=root.findViewById(R.id.errorMessage);
btnRetry=root.findViewById(R.id.btnRetry);
初始化(getActivity(),“ca-app-pub-6862851420275633~8406415898”);
interstitalad=新的interstitalad(getActivity());
间质性setAdUnitId(“ca-app-pub-6862851420275633/3227253163”);
interstituralad.loadAd(新的addRequest.Builder().build());
返回根;
}
public void LoadJson(最终字符串关键字){
errorLayout.setVisibility(View.GONE);
swipeRefreshLayout.setRefreshing(true);
最终ApiInterface ApiInterface=ApiClient.getApiClient().create(ApiInterface.class);
字符串country=Utils.getCountry();
String language=Utils.getLanguage();
呼叫呼叫;
如果(关键字.length()>0){
call=apiInterface.getNewsSearch(关键字,语言,“publishedAt”,API_键);
}否则{
call=apinterface.getNews(国家,API_键);
}
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
if(response.issusccessful()&&response.body().getArticle()!=null){
如果(!articles.isEmpty()){
条款。清晰();
}
articles=response.body().getArticle();
adapter=新适配器(articles,getActivity());
recyclerView.setAdapter(适配器);
adapter.notifyDataSetChanged();
initListner();
swipeRefreshLayout.setRefreshing(false);
}否则{
swipeRefreshLayout.setRefreshing(false);
字符串错误码;
开关(response.code()){
案例404:
errorCode=“404未找到,请不要担心您在原点”;
案例500:
errorCode=“505服务器坏了,不要担心您在原点”;
违约:
errorCode=“未知错误,不要担心您在原点”;
打破
}
错误消息(R.drawable.no_结果,
“没有结果”,
“请再试一次\n”+
错误代码);
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
swipeRefreshLayout.setRefreshing(false);
错误消息(R.drawable.no_结果,
“哎呀!”,
“网络故障,请稍后再试,别担心我们很快就会回来。\n Origin”+t.toString());
}
});
}
私有void initListner(){
setOnItemClickListener(新的adapter.OnItemClickListener(){
@凌驾
公共虚线单击(视图,int位置){
ImageView ImageView=view.findViewById(R.id.img);
Intent Intent=newintent(getActivity(),NewsDetailActivity.class);
Article=articles.get(位置);
intent.putExtra(“url”,article.getUrl());
intent.putExtra(“title”,article.getTitle());
intent.putExtra(“img”,article.getUrlToImage());
intent.putExtra(“date”,article.getPublishedAt());
intent.putExtra(“source”,article.getSource().getName());
intent.putExtra(“author”,article.getAuthor());
Pair Pair=Pair.create((视图)imageView,ViewCompat.getTransitionName(imageView));
ActivityOptions Compat Options Compat=ActivityOptions Compat.MakeScenetTransitionAnimation(
getActivity(),
一对
);
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.KITKAT){
startActivity(intent,options compat.toBundle());
}否则{
星触觉(意向);
}
}
});
}
@凌驾
创建选项菜单(菜单菜单,菜单充气机){
充气机。充气(右菜单。菜单主菜单);
搜索马纳