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

ENG*_*618 3 android android-fragments

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

在第二个活动中,我在操作栏中有一个"保存"图标.我正在试图弄清楚如何在片段中单击此按钮,因此我可以打包textFields并通过界面将其传递回活动.

我试图覆盖,onOptionItemSelected但它没有击中.我该怎么处理?

ENG*_*618 23

好的,所以诀窍在于片段onCreate方法,你必须打电话

setHasOptionsMenu(true);
Run Code Online (Sandbox Code Playgroud)

那么你所要做的就是覆盖onOptionsItemSelected片段中的,然后处理动作栏点击那里!!

@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);
}
Run Code Online (Sandbox Code Playgroud)