1、打开 res\values 目录下的 string.xml 文件,创建各个菜单项标题和编辑框要显示的默认文本所需要的字符串变量
<resources>
<string name="app_name">InternationalizedMenu</string>
<string name="copy">复制</string>
<string name="cut">剪切</string>
<string name="prase">粘贴</string>
</resources>
2、在 res 创建一个menu 目录,并在该目录下创建一个contextmenu.xml 的菜单资源文件
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item1" android:title="@string/copy" android:alphabeticShortcut="c"></item>
<item android:id="@+id/item2" android:title="@string/cut" android:alphabeticShortcut="x"></item>
<item android:id="@+id/item3" android:title="@string/prase" android:alphabeticShortcut="v"></item>
</menu>
3、在 main.xml 中,添加一个 EditView 组件,并设置默认显示文本
<EditText
android:layout_width="200dp"
android:layout_height="50dp"
android:id="@+id/editText"
android:hint="请输入检索文字"/>
4、在 Activity 中,重写onCreateContextMenu()和onContextItemSelected()方法
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) this.findViewById(R.id.editText);
registerForContextMenu(editText); // 为编辑框创建上下文菜单
}
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo contextMenuInfo){
MenuInflater inflater = new MenuInflater(MainActivity.this); // 实例化一个 MenuInflater 对象
inflater.inflate(R.menu.contextmenu,menu); // 解析菜单文件
}
public boolean onContextItemSelected(MenuItem item){
Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show();
return true;
}```