网络上查阅,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);
    }
posted on 2015-06-25 18:52  QQ28902581  阅读(717)  评论(0编辑  收藏  举报