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