Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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
Android 片段中的操作栏项单击处理程序_Android_Android Fragments - Fatal编程技术网

Android 片段中的操作栏项单击处理程序

Android 片段中的操作栏项单击处理程序,android,android-fragments,Android,Android Fragments,我有一个简单的2活动应用程序。主活动填充listFragment,第二个活动填充带有字段的片段,以向主活动添加自定义对象(列表项) 在第二个活动中,我在操作栏中有一个“保存”图标。我试图找出如何在片段中侦听这个按钮,这样我就可以打包文本字段并通过接口将其传递回活动 我试图覆盖onOptionItemSelected,但它从未命中。我该如何处理这个问题呢?好的,关键在于片段onCreate方法,您必须调用 setHasOptionsMenu(true); 然后,您所要做的就是覆盖片段中的onop

我有一个简单的2活动应用程序。主活动填充listFragment,第二个活动填充带有字段的片段,以向主活动添加自定义对象(列表项)

在第二个活动中,我在操作栏中有一个“保存”图标。我试图找出如何在片段中侦听这个按钮,这样我就可以打包文本字段并通过接口将其传递回活动


我试图覆盖
onOptionItemSelected
,但它从未命中。我该如何处理这个问题呢?

好的,关键在于片段
onCreate
方法,您必须调用

setHasOptionsMenu(true);
然后,您所要做的就是覆盖片段中的
onoptionItemSelected
,并处理操作栏,单击此处

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.action_save : {
            Log.i(TAG, "Save from fragment");
            return true;
        }
    }
    return super.onOptionsItemSelected(item);
}

谢谢,这就解决了!!我也面临同样的问题。我的问题是onCreate()方法中只有这个方法setHasOptions菜单(true);是否需要添加?是的,然后当选择一个项目时,它将调用对选项ItemSelected的覆盖。我的问题是,在我的活动中,我也覆盖了该方法。。。