Show context menu when link is long pressed in TextView

前端 未结 1 748
花落未央
花落未央 2020-12-16 07:35

I have a TextView with its MovementMethod set to LinkMovementMethod. Text added to the TextView is a combination of norma

相关标签:
1条回答
  • 2020-12-16 07:51

    You can simply use registerForContextMenu eg:

        TextView tv = new TextView(this);
        registerForContextMenu(tv);
    

    and then override the onCreateContextMenu to create a menu

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
                // Create your context menu here
        menu.setHeaderTitle("Context Menu");
        menu.add(0, v.getId(), 0, "Action 1");        
    }
    

    where you can use the ID of the view to pass on to the events that occur on pressing of a menu item, in order to differentiate which view called the event.

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        // Call your function to preform for buttons pressed in a context menu
        // can use item.getTitle() or similar to find out button pressed
        // item.getItemID() will return the v.getID() that we passed before
    
    }
    
    0 讨论(0)
提交回复
热议问题