Compare commits

...

3 Commits

@ -27,17 +27,19 @@ import android.widget.PopupMenu.OnMenuItemClickListener;
import net.micode.notes.R;
public class DropdownMenu {
public class DropdownMenu {//构建一个方法去弹出菜单,按钮与现实菜单
private Button mButton;
private PopupMenu mPopupMenu;
private Menu mMenu;
public DropdownMenu(Context context, Button button, int menuId) {
mButton = button;
mButton.setBackgroundResource(R.drawable.dropdown_icon);
mPopupMenu = new PopupMenu(context, mButton);
mButton = button;//传入button的值
mButton.setBackgroundResource(R.drawable.dropdown_icon);//将按钮的背景设置为一个指定的资源
mPopupMenu = new PopupMenu(context, mButton);//创建一个新的 PopupMenu 对象 mPopupMenu这个对象会和 mButton 相关联,当点击这个按钮时,会显示这个弹出菜单。
mMenu = mPopupMenu.getMenu();
//通过调用 mPopupMenu.getMenu() 方法获取菜单对象 mMenu这个对象代表了弹出菜单的内容。
mPopupMenu.getMenuInflater().inflate(menuId, mMenu);
//使用 getMenuInflater().inflate 方法来加载并设置弹出菜单的内容,传入的参数是菜单 ID 和菜单对象,,并将加载后的内容设置到菜单对象上。
mButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mPopupMenu.show();
@ -46,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);

@ -27,7 +27,7 @@ import net.micode.notes.tool.DataUtils;
public class NoteItemData {
static final String [] PROJECTION = new String [] {
static final String [] PROJECTION = new String [] {///11111
NoteColumns.ID,
NoteColumns.ALERTED_DATE,
NoteColumns.BG_COLOR_ID,

Loading…
Cancel
Save