1、创建菜单资源文件
在res下新建menu文件夹;右击menu文件夹新建菜单资源文件menu.xml.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_copy"
android:title="@string/introduce_copy"></item>
<item
android:id="@+id/menu_collect"
android:title="@string/introduce_collect"></item>
<item
android:id="@+id/menu_translate"
android:title="@string/introduce_translate"></item>
<item
android:id="@+id/menu_report"
android:title="@string/introduce_report"></item>
</menu>
2、为文本框注册上下文菜单
introduce = (TextView) findViewById(R.id.introduce); //获取介绍TextView组件
registerForContextMenu(introduce); //为文本框注册上下文菜单
3、重写onCreateContextMenu方法,添加一个上下文菜单
@Override
//创建上下文菜单
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
MenuInflater inflater = new MenuInflater(this); //实例化一个MenuInflater对象
inflater.inflate(R.menu.introduce_menu, menu); //解析菜单文件
}
4、重写onContextItemSelected方法,指定各个菜单被选择时所应做的处理
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_copy: //选中介绍文字菜单中的复制时
Toast.makeText(MainActivity.this, "已复制", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_collect: //选中介绍文字菜单中的收藏时
Toast.makeText(MainActivity.this,"已收藏",Toast.LENGTH_SHORT).show();
break;
}
return true;
}