0

我正在遵循Android 开发者页面上的复制和粘贴指南。但是,有一个部分我不太明白,即使用纯文本粘贴的部分:

// Gets the ID of the "paste" menu item
MenuItem mPasteItem = menu.findItem(R.id.menu_paste);

// If the clipboard doesn't contain data, disable the paste menu item.
// If it does contain data, decide if you can handle the data.
if (!(clipboard.hasPrimaryClip())) {

mPasteItem.setEnabled(false);

} else if (!(clipboard.getPrimaryClipDescription().hasMimeType(MIMETYPE_TEXT_PLAIN))) {

    // This disables the paste menu item, since the clipboard has data but it is not plain text
    mPasteItem.setEnabled(false);
} else {

    // This enables the paste menu item, since the clipboard contains plain text.
    mPasteItem.setEnabled(true);
}
}

我可以理解其中的大部分内容,但让我措手不及的是成员变量的使用。我知道这些指南不是 1:1 的代码,但我只是发现并没有看到一个名为“menu”的变量。所以,我问那些可能比我更了解 Android 的人,这个变量的目的是什么?我知道我回去编辑了 menu.xml 文件,所以我有一个“复制”和“粘贴”项目(这个“教程”似乎使用了),但现在我不知道如何实例化/初始化这个菜单,我也不知道它的用途。谁可以给我解释一下这个?

谢谢。

4

1 回答 1

2

愚蠢的 Android 开发人员,使用未记录的变量...

这是对包含Menu粘贴按钮 (a MenuItem) 的某些布局的引用。这个项目有 ID menu_paste,你可能知道也可能不知道。

实际上,此menu变量可以是Menu包含您的菜单项的任何布局。您可以在此处了解如何创建Menus 。

于 2012-08-10T22:53:15.547 回答