Update DropdownMenu.java

main
lxt-Area 2 years ago
parent 0c3f345f6e
commit 7604296b86

@ -38,7 +38,8 @@ public class DropdownMenu {//构建一个方法去弹出菜单,按钮与现实
mPopupMenu = new PopupMenu(context, mButton);//创建一个新的 PopupMenu 对象 mPopupMenu这个对象会和 mButton 相关联,当点击这个按钮时,会显示这个弹出菜单。
mMenu = mPopupMenu.getMenu();
//通过调用 mPopupMenu.getMenu() 方法获取菜单对象 mMenu这个对象代表了弹出菜单的内容。
mPopupMenu.getMenuInflater().inflate(menuId, mMenu);//使用 getMenuInflater().inflate 方法来加载并设置弹出菜单的内容,传入的参数是菜单 ID 和菜单对象,这个方法会根据菜单 ID 加载对应的菜单资源(可能是一个 XML 文件定义的菜单布局),并将加载后的内容设置到菜单对象上。
mPopupMenu.getMenuInflater().inflate(menuId, mMenu);
//使用 getMenuInflater().inflate 方法来加载并设置弹出菜单的内容,传入的参数是菜单 ID 和菜单对象,,并将加载后的内容设置到菜单对象上。
mButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mPopupMenu.show();
@ -47,10 +48,13 @@ public class DropdownMenu {//构建一个方法去弹出菜单,按钮与现实
}
public void setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) {
//定义处理菜单项点击事件的回调方法。
if (mPopupMenu != null) {
mPopupMenu.setOnMenuItemClickListener(listener);
//将用户定义的点击监听器设置为下拉菜单的点击监听器,以便当用户点击菜单项时,可以执行相应的操作。
}
}
//这个构造方这个方法允许用户设置一个自定义的点击监听器以便处理下拉菜单项的点击事件。但在设置监听器之前它会检查下拉菜单实例mPopupMenu是否存在以避免在null对象上调用方法而导致的空指针异常。
public MenuItem findItem(int id) {
return mMenu.findItem(id);

Loading…
Cancel
Save