MainActivity
public class MainActivity extends AppCompatActivity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.tv);
registerForContextMenu(tv);//2、给指定控件注册上下文菜单
}
/*1、创建上下文菜单*/
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
//加载菜单文件
getMenuInflater().inflate(R.menu.menu1,menu);
//添加菜单项,参数1.分组id,2.菜单项id,3.排序,数字越大越在上面,4.菜单的标题
menu.add(1,1,6,"菜单1");
menu.add(1,2,5,"菜单2");
menu.add(1,3,4,"菜单3");
//对组设置样式(是否选中以及单选或多选),参数1,组的id,2.是否被选中的样式,3.true为单选,false为多选
menu.setGroupCheckable(1,true,false);
//添加含有子菜单的项
SubMenu sub = menu.addSubMenu(2, 4, Menu.NONE, "子菜单4");
//添加子菜单
sub.add(3,5,Menu.NONE,"我是菜单1");
sub.add(3,6,Menu.NONE,"我是菜单2");
}
/*上下文菜单被选中事件*/
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.item1://字体变大
tv.setTextSize(24);
break;
case R.id.item2://字体颜色
tv.setTextColor(Color.RED);
break;
case 1://选中菜单1
break;
case R.id.item3://跳转
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
break;
}
return super.onContextItemSelected(item);
}
}
Main2Activity
public class Main2Activity extends AppCompatActivity {
private ListView lv;
List
activity_main2
list_item