ListView长按菜单的实现

网络上查阅,ListView长按菜单有两种方式可以实现

 

 

第一种方式,需要三步

一、先定义ListView的长按菜单

ListView listView = (ListView) findViewById(R.id.main_listview);
registerForContextMenu(listView);

二、为菜单添加详细的项目标题图标。

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
    {
        // TODO Auto-generated method stub
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.setHeaderTitle("菜单");
        menu.add(0, 1, 0, "详细");
        menu.add(0, 2, 0, "修改");
        menu.add(0, 3, 0, "删除");
    }

三、定义点击菜单里每个项目的 动作

public boolean onContextItemSelected(MenuItem menu)
    {
        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menu.getMenuInfo();

        switch (menu.getItemId())
        {
        case 1:  //点击  长按菜单的  详细 

            break;
        case 2:  //点击  长按菜单的 修改

            break;
        case 3:  //点击  长按菜单的 删除

            break;
        }

        return super.onContextItemSelected(menu);
    }

 

 

第二种方式:

一,直接定义ListView的长按事件

detailed_listview.setOnCreateContextMenuListener(new OnCreateContextMenuListener()  //ListView的长按菜单
        {

            public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo info)
            {
                menu.setHeaderTitle("菜单");
                menu.add(0, 1, 0, "修改");
                menu.add(0, 2, 0, "删除");
            }
        });

 

二、菜单上每个项目的点击事件

public boolean onContextItemSelected(MenuItem item)
    {

        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();

        switch (item.getItemId())
        {
        case 1:  //修改数据

            break;
        case 2:  //删除数据

            break;
        }
        return super.onContextItemSelected(item);
    }
时间: 2024-12-21 19:52:58

ListView长按菜单的实现的相关文章

Android ListView 长按列表弹出菜单

Android ListView 长按列表弹出菜单 设置长按菜单 listView.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() { @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { menu.add(0, 0, 0, "删除单号"); menu.add

Android 读取手机联系人、拨号、发送短信及长按菜单的操作

本示例实现了读取手机联系人,拨号.发送短信及长按出现菜单选项的操作↓ 1.Andrid项目结构图↓主要操作图中红色方框内的文件. 2.首先布局代码如下↓ a, main.xml 程序运行的主界面,主要用ListView列表控件展示手机联系人 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/a

android listview级联三菜单选择地区,本地数据库sqlite级联地区,item选中不变色

前言:因为找了N多网上的资源都没有好的解决方案,别人都是只给思路没给具体源码,真TMD纠结,干嘛求别人,自己动手才是真,最痛恨那些所谓大牛的作风,给了点点代码就让别人去想,你让我们这种小白情何于堪!!!!!!此例是基于listview来实现本地sqlite实现的! 二话不说,程序猿求的是有图有真相有源码!大家下载后有什么问题可以找到本人:QQ508181017 核心代码如下 1.数据库操作类 package com.icq.demo.db; import java.util.ArrayList;

listView长按事件内修改ListView对象内容

============问题描述============ 我在ListView的Item长按事件内打开一个弹出窗口,窗口内有一个EditText对象,在这个编辑框内输入文本点确定后,希望可以直接修改掉ListView对象内某个TextView对象的内容:现在ListView长按事件内直接修改没有问题了,只是弹出一个窗口再修改不知道该如何实现: ============解决方案1============ 引用 楼主 hackerlyf 的回复: 我在ListView的Item长按事件内打开一个弹出

列表长按菜单对应的选项ID

这个需求应该比较常见了,就是list列表长按菜单项所对应的listitem的id是多少,如何得到. 网上应该也有很多,不过多解释在此记录 [java] view plaincopy public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfoIn) { AdapterContextMenuInfo mi = (AdapterContextMenuInfo) menuInfoIn; Ada

android listview长按,单击各种事件捕捉

之前一直想总结一下这样知识,后面各种忙,就不想写.还是自已总结一下比较好.listview需要注意事项有很多吧,也是最常用的控件之一.我们可以自动计算listview的高度,当与滚动条一起使用的时候.listview分隔线也可以去掉,或者更改.还有与各种控件一起使用的监听.接下来看看我所介绍的以及效果图. 本文项目demo地址:点击此处下载 一.看项目主要类 package com.example.customlistviewdemo; import java.util.ArrayList; i

C# winform ListView 的右键菜单的下级菜单的选项视情况禁用方法

ListView 和右键菜单如下图: 要实现功能是: 1.用户状态为[活动]时,修改用户状态为[活动]禁用,反之则反. 2.并且只有用户状态为[非活动]时,[删除学员用户]才是可用状态. 功能很简单,解决办法如下: [Answers] //根据该行数据'状态'来决定显示右键菜单的哪个项 private void tsmiUpdate_DropDownOpening(object sender, EventArgs e) { if (lvStudent.SelectedItems[0].SubIt

Android — 长按ListView 利用上下文菜单(ActionMode) 进行批量事件处理

好久没写博客拉``````` 近期最终略微闲一点了``````` 无聊拿手机清理短信.发现批量事件的处理还是挺管用的`````` 那么自己也来山寨一记看看效果吧````` 闲话少说,首先,我们来看下手机自带的短信功能里运行批量删除时的效果: 然后  是我们自己简单山寨的效果:       模拟的操作过程非常easy,但也非常有代表性. 我们假定我们所处的场景为.进入一个存放联系人列表的界面. 于是,首先我们定义了一个进度框,模拟提示正在从网络上下载数据. 接着.当网络数据成功下载到移动设备上后,

Android ListView 长按如何获取item的主键并操作对应数据库元组

============问题描述============ 我做的是一个租房管理系统,大概是现在在对房子操作这个界面,我现在是要长按listView中的某一个Item,要求实现修改和删除功能. This is my house_setting.xml document <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andr