Android initLoader调用不接受“;这";作为第三个论点。下面是完整错误

Android initLoader调用不接受“;这";作为第三个论点。下面是完整错误,android,android-fragments,android-loadermanager,Android,Android Fragments,Android Loadermanager,错误 “android.support.v4.app.LoaderManager”中的initLoader(int,android.os.Bundle,android.support.v4.app.LoaderManager.LoaderCallbacks)不能应用于“(int,null,group15.cop4331project.MyReportsFragment) 我已经阅读了所有关于支持库的答案,但不是这样。我试图用SQLite数据库中的列表填充此片段。我真的很想弄明白为什么这不起作用。

错误

“android.support.v4.app.LoaderManager”中的initLoader(int,android.os.Bundle,android.support.v4.app.LoaderManager.LoaderCallbacks)不能应用于“(int,null,group15.cop4331project.MyReportsFragment)

我已经阅读了所有关于支持库的答案,但不是这样。我试图用SQLite数据库中的列表填充此片段。我真的很想弄明白为什么这不起作用。另外,我认为我使用的OnCreateView和OnActivityCreated是正确的,但我不确定

我的进口产品

import android.content.ContentUris;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
我的代码

public class MyFragment extends Fragment implements LoaderManager.LoaderCallbacks < Cursor > {

    //adapter for the ListView
    MyCursorAdapter mCursorAdapter;

    View rootView;

    public MyReportsFragment() {
        // Required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        rootView = inflater.inflate(R.layout.report_list, container, false);

        return rootView;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        // Find the listview which will be populated with the data
        ListView listView = (ListView) rootView.findViewById(R.id.list);

        // Setup an Adapter to create a list item for each row of  data in the Cursor.
        mCursorAdapter = new ReportCursorAdapter(getActivity(), null);
        listView.setAdapter(mCursorAdapter);

        // Setup the item click listener
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Override
            public void onItemClick(AdapterView < ?>adapterView, View view, int position, long id) {
                Intent intent = new Intent(getActivity(), EditReportActivity.class);

                Uri currentUri = ContentUris.withAppendedId(ReportEntry.CONTENT_URI, id);

                // Set the URI on the data field of the intent
                intent.setData(currentUri);

                startActivity(intent);
            }
        });

        // Kick off the loader
        getLoaderManager().initLoader(REPORT_LOADER, null, this);
        //getActivity().getSupportLoaderManager().initLoader(REPORT_LOADER, null, this);
    }
}
公共类MyFragment扩展片段实现LoaderManager.LoaderCallbacks{
//ListView的适配器
MyCursorAdapter mCursorAdapter;
视图根视图;
公共MyReportsFragment(){
//必需的空公共构造函数
}
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
rootView=充气机。充气(R.layout.report\u列表,容器,false);
返回rootView;
}
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
//查找将填充数据的listview
ListView ListView=(ListView)rootView.findViewById(R.id.list);
//设置适配器为光标中的每行数据创建列表项。
mCursorAdapter=newreportcursoradapter(getActivity(),null);
setAdapter(mCursorAdapter);
//设置项目单击侦听器
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){@Override
public void onItemClick(AdapterView<?>AdapterView,视图,内部位置,长id){
Intent Intent=new Intent(getActivity(),EditReportActivity.class);
Uri currentUri=ContentUris.withAppendedId(ReportEntry.CONTENT\u Uri,id);
//在意图的数据字段上设置URI
intent.setData(currentUri);
星触觉(意向);
}
});
//启动装载机
getLoaderManager().initLoader(报告加载程序,null,this);
//getActivity().getSupportLoaderManager().initLoader(报告加载程序,null,this);
}
}

应在ActivityCreated中调用initLoader,以使部件正常

我遇到了一个类似的问题,解决方案与支持v4库有关。更改此导入语句:
导入android.support.v4.app.Fragment
致:
导入android.app.Fragment
并使用:
import android.app.LoaderManager
(确保项目中的任何地方都没有使用support v4)

这是基于您发布的代码,如果您可以发布所有可能有用的imort语句的话


希望这有助于

在ActivityCreated中调用initLoader,这样部件就可以了

我遇到了一个类似的问题,解决方案与支持v4库有关。更改此导入语句:
导入android.support.v4.app.Fragment
致:
导入android.app.Fragment
并使用:
import android.app.LoaderManager
(确保项目中的任何地方都没有使用support v4)

这是基于您发布的代码,如果您可以发布所有可能有用的imort语句的话


希望这能有所帮助

我想复制和粘贴几个导入语句(我从其他答案中复制了这些语句)出于某种原因不起作用,但这似乎起到了作用。非常感谢。因此,不幸的是,如果我删除了support v4库,那么我就无法实现标签之间的滑动。我想你不知道有什么方法可以同时进行刷卡和上面的尝试吗?事实上我也有这个问题:),如果你使用的是带有fragmentPagerAdapter的viewPager,你可以在gradle文件中使用:compile'com.android.support:support-v13:25.1.1'导入support.v13库。v13支持库包含一个FragmentPagerAdapter类,可以处理android.app.Fragments。祝你好运JI猜复制和粘贴几个导入语句(我从其他答案中复制和粘贴了这些语句)出于某种原因不起作用,但这似乎起到了作用。非常感谢。因此,不幸的是,如果我删除了support v4库,那么我就无法实现标签之间的滑动。我想你不知道有什么方法可以同时进行刷卡和上面的尝试吗?事实上我也有这个问题:),如果你使用的是带有fragmentPagerAdapter的viewPager,你可以在gradle文件中使用:compile'com.android.support:support-v13:25.1.1'导入support.v13库。v13支持库包含一个FragmentPagerAdapter类,可以处理android.app.Fragments。祝你好运,J