creating a menu after a long click event on a list view

前端 未结 7 771
無奈伤痛
無奈伤痛 2020-12-02 07:32

I have a list view connected to a database, showing a all the entries. I want a menu to show up if the user long clicks a item in the listview(database entry), showing optio

7条回答
  •  孤街浪徒
    2020-12-02 07:53

    **

    after register your context menu on list view

    ** override onCreateContextMenu Method like this

    @Override
        public void onCreateContextMenu(ContextMenu menu,View v, ContextMenu.ContextMenuInfo menuInfo){
            if (v.getId() == R.id.listView){
                AdapterView.AdapterContextMenuInfo info =(AdapterView.AdapterContextMenuInfo)menuInfo;
                MenuItem mnu1=menu.add(0,0,0,"Delete");
                MenuItem mnu2=menu.add(0,1,1,"Share");
            }
        }
    

    then coding for each item that can be selected

     @Override
        public boolean onContextItemSelected(MenuItem menuItem){
            AdapterView.AdapterContextMenuInfo info=(AdapterView.AdapterContextMenuInfo)menuItem.getMenuInfo();
            switch (menuItem.getItemId()) {
                case 0:
                    Toast.makeText(this, "Delete Selected", Toast.LENGTH_LONG).show();
                    break;
                case 1:
                    Toast.makeText(this, "Share Selected", Toast.LENGTH_LONG).show();
                    break;
    
                default:
                    break;
    
            }
            return true;
        }
    

提交回复
热议问题