您的位置:首页 > 移动开发 > Android开发

android中上下文菜单的创建-----比如长按某个按钮删除数据

2013-10-23 21:29 453 查看
1.在ListView控件初始化后为此控件注册一个上下文菜单

registerForContextMenu(lv_call_sms_safe);

2.在res目录下建立menu目录,在此目录下创建一个menu的xml文件。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
android:id="@+id/update_number"
android:title="更改黑名单号码">
</item>
<item
android:id="@+id/delete_number"
android:title="删除黑名单号码">
</item>

</menu>


3.重新Acitivity的onCreateContextMenu方法,

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);

}


4.重新Activity的onContextItemSelected方法,处理相关的业务操作

@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
int id = (int) info.id;
String number = numbers.get(id);
switch (item.getItemId()) {
case R.id.update_number:
updateNumber(number);

break;
case R.id.delete_number:
dao.delete(numbers.get(id));
numbers = dao.getAllNumbers();
adapter.notifyDataSetChanged();
break;

}
return false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐