Java onCreateView()中的不可访问语句
我正在尝试构建一个包含多个片段的应用程序,其中所有片段都实现Java onCreateView()中的不可访问语句,java,android,android-fragments,return,Java,Android,Android Fragments,Return,我正在尝试构建一个包含多个片段的应用程序,其中所有片段都实现LoaderCallbacks。我一直在读StackOverflow上的帖子,其中大多数人都指出要使用导入android.support.v4.app之类的东西。我做到了。但是,当我试图从片段的onCreateView中getLoaderManager时,我得到了一个无法访问的语句错误 这是我的一个片段: package com.example.android.morenews; 导入android.net.Uri; 导入android
LoaderCallbacks
。我一直在读StackOverflow上的帖子,其中大多数人都指出要使用导入android.support.v4.app
之类的东西。我做到了。但是,当我试图从片段的onCreateView
中getLoaderManager
时,我得到了一个无法访问的语句错误
这是我的一个片段:
package com.example.android.morenews;
导入android.net.Uri;
导入android.os.Bundle;
导入android.support.annotation.Nullable;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.LoaderManager;
导入android.support.v4.content.Loader;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入java.util.List;
/**
*于2017年12月24日创建。
*/
公共类CultureFragment扩展片段实现LoaderManager.LoaderCallbacks{
专用字符串baseUrlString=”https://content.guardianapis.com/search?show-字段=标题、缩略图、字数、trailText”;
私有字符串LOG_TAG=CultureFragment.class.getName();
公共LoaderManager LoaderManager;
公共片段=此;
公共文化抗议(){
//空构造函数
}
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、Bundle savedInstanceState){
返回super.onCreateView(充气机、容器、savedInstanceState);
loaderManager=getLoaderManager();这是因为在return
语句之后调用它,这意味着不会执行其他代码行。在return
语句之前执行此操作:
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
loaderManager = getLoaderManager();
loaderManager.initLoader(1, null, this);
return super.onCreateView(inflater, container, savedInstanceState);
}
package com.example.android.morenews;
import android.content.Context;
import android.support.v4.content.AsyncTaskLoader;
import java.util.List;
/**
* Created by on 24.12.17.
*/
public class NewsLoader extends AsyncTaskLoader<List<News>> {
String mUrl;
public NewsLoader(Context context, String url)
{
super(context);
mUrl=url;
}
@Override
public List<News> loadInBackground() {
if (mUrl==null){
return null;
}
return QueryUtils.fetchNewsFromApi(mUrl); }
@Override
protected void onStartLoading() {
forceLoad();
}
}
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
loaderManager = getLoaderManager();
loaderManager.initLoader(1, null, this);
return super.onCreateView(inflater, container, savedInstanceState);
}