今天做一个项目要用到长按图片弹出操作菜单,总结下怎样给控件(可以是listView之类的)添加长按事件。
代码如下
private void initView() {
topbar = (TopBar) findViewById(R.id.topbar);
topbar.getTitleTV().setText("生日本");
headImage = (ImageView) findViewById(R.id.headimageView);
// 添加长按点击弹出选择菜单
headImage.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("更改头像");
menu.add(0, 0, 0, "从相册选择");
menu.add(0, 1, 0, "拍摄上传");
}
});
}
//给菜单项添加事件
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) { //该ID就是menu.add()中的第二个参数
case 0:
startAlbum();
break;
case 1:
startCapture();
break;
default:
break;
}
return super.onContextItemSelected(item);
}