Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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 Fragment弹出菜单设置菜单项ClickListener_Android_Fragment - Fatal编程技术网

Android Fragment弹出菜单设置菜单项ClickListener

Android Fragment弹出菜单设置菜单项ClickListener,android,fragment,Android,Fragment,我在片段中使用它,而不是在活动中。所以我必须用另一个词来改变这两个“this” 我必须在这两行中写什么?第一行应该写在活动中,而不是片段中?剩下的代码应该放在哪里?此外,如果我添加ImplementMenuItem.onMenuItem…..“应该在活动中写入第一行,而不是片段?”->您可以在片段中使用它。“此外,我还有erreur”->只需在错误消息中按Alt+ENTER,它将显示要实现的方法。然后选择all。@Ahmedfeki LinearLayout layout = view.find

我在片段中使用它,而不是在活动中。所以我必须用另一个词来改变这两个“this”
我必须在这两行中写什么?

第一行应该写在活动中,而不是片段中?剩下的代码应该放在哪里?此外,如果我添加ImplementMenuItem.onMenuItem…..“应该在活动中写入第一行,而不是片段?”->您可以在片段中使用它。“此外,我还有erreur”->只需在错误消息中按Alt+ENTER,它将显示要实现的方法。然后选择all。@Ahmedfeki
LinearLayout layout = view.findViewById(R.id.search2);//You can use other view as anchor
        layout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                PopupMenu popupMenu = new PopupMenu(this, view);//View will be an anchor for PopupMenu
                popupMenu.inflate(R.menu.menu);
                Menu menu = popupMenu.getMenu();
                popupMenu.setOnMenuItemClickListener(this);
                popupMenu.show();
            }
        });
//pass activity context in PopupMenu

PopupMenu popupMenu = new PopupMenu(getActivity, view);

//imaplement fragment 

public class yourFragment extends Fragment implement MenuItem.OnMenuItemClickListener{
//then set to popupMenu
popupMenu.setOnMenuItemClickListener(this);
}