Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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 将此从AppCompatActivity转换为片段,并存在意图错误等_Java_Android_Android Fragments_Android Intent_Android Fragmentactivity - Fatal编程技术网

Java 将此从AppCompatActivity转换为片段,并存在意图错误等

Java 将此从AppCompatActivity转换为片段,并存在意图错误等,java,android,android-fragments,android-intent,android-fragmentactivity,Java,Android,Android Fragments,Android Intent,Android Fragmentactivity,我已经尝试了一个月,做了大量的研究,把它翻译成片段,因为我需要它作为我的导航菜单。基本上我正在创建一个应用程序。我正在使用MainActivity使用Fragment运行导航菜单。然后我必须使用这些类并将其作为片段运行,但有一次我必须使用AppCompatActivity,所以我将其转换为片段,但遇到了一个与意图和其他变量有关的问题。我需要帮助。我只是在学习如何编码。我得到的错误是: Error:(63, 33) error: no suitable constructor found for

我已经尝试了一个月,做了大量的研究,把它翻译成片段,因为我需要它作为我的导航菜单。基本上我正在创建一个应用程序。我正在使用MainActivity使用Fragment运行导航菜单。然后我必须使用这些类并将其作为片段运行,但有一次我必须使用AppCompatActivity,所以我将其转换为片段,但遇到了一个与意图和其他变量有关的问题。我需要帮助。我只是在学习如何编码。我得到的错误是:

 Error:(63, 33) error: no suitable constructor found for 
 Intent(Events,Class<AddEvent>) constructor Intent.Intent(String,Uri) is not 
 applicable (argument mismatch; Events cannot be converted to String) 
 constructor Intent.Intent(Context,Class<?>) is not applicable (argument 
 mismatch; Events cannot be converted to Context)
错误:(63,33)错误:找不到适合的构造函数
意图(事件,类)构造函数意图。意图(字符串,Uri)不是
适用(参数不匹配;事件无法转换为字符串)
构造函数意图。意图(上下文、类)不适用(参数
不匹配;事件无法转换为上下文)
以下是I类代码:

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

private FloatingActionButton mAddEventButton;
private Toolbar mToolbar;
EventCursorAdapter mCursorAdapter;
EventDbHelper eventDbHelper = new EventDbHelper(getActivity());
ListView eventListView;
ProgressDialog prgDialog;



private static final int VEHICLE_LOADER = 0;

@Nullable
@Override
public ListView onCreateView(LayoutInflater inflater, @Nullable ViewGroup 
container, Bundle savedInstanceState) {
    eventListView = (ListView) inflater.inflate(R.layout.nav_events, container, 
false);
    return eventListView;

    mToolbar = (Toolbar) getView().findViewById(R.id.toolbar);
    ((AppCompatActivity)getActivity()).setSupportActionBar(mToolbar);
    mToolbar.setTitle("Events");

    eventListView = (ListView) getView().findViewById(R.id.list);
    View emptyView = getView().findViewById(R.id.empty_view);
    eventListView.setEmptyView(emptyView);

    mCursorAdapter = new EventCursorAdapter(getActivity(), null);
    eventListView.setAdapter(mCursorAdapter);

    eventListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int 
position, long id) {

            Intent intent = new Intent(Events.this, AddEvent.class, null);


            Uri currentVehicleUri = 
ContentUris.withAppendedId(EventContract.EventEntry.CONTENT_URI, id);

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

            startActivity(intent);

        }
    });


    mAddEventButton = (FloatingActionButton) getView().findViewById(R.id.fab);

    mAddEventButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(v.getContext(), AddEvent.class);
            startActivity(intent);
        }
    });

    getLoaderManager().initLoader(VEHICLE_LOADER, null, this);


}

@Override
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
    String[] projection = {
            EventContract.EventEntry._ID,
            EventContract.EventEntry.KEY_TITLE,
            EventContract.EventEntry.KEY_DATE,
            EventContract.EventEntry.KEY_TIME,
            EventContract.EventEntry.KEY_REPEAT,
            EventContract.EventEntry.KEY_REPEAT_NO,
            EventContract.EventEntry.KEY_REPEAT_TYPE,
            EventContract.EventEntry.KEY_ACTIVE

    };

    return new CursorLoader(getActivity(),   // Parent activity context
            EventContract.EventEntry.CONTENT_URI,   // Provider content URI to 
query
            projection,             // Columns to include in the resulting 
Cursor
            null,                   // No selection clause
            null,                   // No selection arguments
            null);                  // Default sort order

}

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
    mCursorAdapter.swapCursor(cursor);

}

@Override
public void onLoaderReset(Loader<Cursor> loader) {
    mCursorAdapter.swapCursor(null);

}
公共类事件扩展片段实现
LoaderManager.LoaderCallbacks{
私有浮动操作按钮mAddEventButton;
私有工具栏mToolbar;
EventCursorAdapter mCursorAdapter;
EventDbHelper EventDbHelper=新的EventDbHelper(getActivity());
ListView事件ListView;
进程对话;
私人静态最终整备车辆装载机=0;
@可空
@凌驾
public ListView onCreateView(LayoutFlater充气机,@Nullable ViewGroup
容器,捆绑包savedInstanceState){
eventListView=(ListView)充气器。充气(R.layout.nav_事件,容器,
假);
返回事件列表视图;
mToolbar=(Toolbar)getView().findviewbyd(R.id.Toolbar);
((AppCompatActivity)getActivity()).setSupportActionBar(mToolbar);
mToolbar.setTitle(“事件”);
eventListView=(ListView)getView().findViewById(R.id.list);
View emptyView=getView().findViewById(R.id.empty\u视图);
setEmptyView(emptyView);
mCursorAdapter=neweventcursoradapter(getActivity(),null);
setAdapter(mCursorAdapter);
eventListView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView AdapterView,View,int
位置(长id){
意向意向=新意向(Events.this、AddEvent.class、null);
Uri currentVehicleUri=
ContentURI.withAppendedId(EventContract.EventEntry.CONTENT_URI,id);
//在意图的数据字段上设置URI
意图.设置数据(currentVehicleUri);
星触觉(意向);
}
});
mAddEventButton=(FloatingActionButton)getView().findViewById(R.id.fab);
mAddEventButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent Intent=新的Intent(v.getContext(),AddEvent.class);
星触觉(意向);
}
});
getLoaderManager().initLoader(车辆装载器,null,this);
}
@凌驾
公共加载器onCreateLoader(inti,Bundle){
字符串[]投影={
EventContract.EventEntry.\u ID,
EventContract.EventEntry.KEY\u标题,
EventContract.EventEntry.KEY\u日期,
EventContract.EventEntry.KEY\u时间,
EventContract.EventEntry.KEY\u重复,
EventContract.EventEntry.KEY\u重复\u否,
EventContract.EventEntry.KEY\u重复\u类型,
EventContract.EventEntry.KEY\u处于活动状态
};
返回新的游标装入器(getActivity(),//父活动上下文
EventContract.EventEntry.CONTENT\u URI,//提供程序内容URI到
查询
投影,//要包含在结果中的列
光标
null,//无选择子句
null,//没有选择参数
null);//默认排序顺序
}
@凌驾
public void onLoadFinished(加载器,光标){
mCursorAdapter.swapCursor(光标);
}
@凌驾
公共void onLoaderReset(加载器){
mCursorAdapter.swapCursor(空);
}

通过删除空值修复简单问题:

Intent intent = new Intent(Events.this, AddEvent.class);

此问题由以下行引起:
Intent Intent=new Intent(Events.this,AddEvent.class,null);

您应该使用一个可用的示例来实例化您的意图。
在这种情况下,我建议使用
newintent(view.getContext(),AddEvent.class);