androidandroid-fragmentsandroid-intentkotlinandroid-contextmenu

How do I start an Intent from context Menu


I have a contextMenu with a single item inside my fragment. I want to start another Intent but seems the item is unable to detect click

 override fun onCreateContextMenu(menu: ContextMenu?, v: View?, menuInfo: ContextMenu.ContextMenuInfo?) {
        super.onCreateContextMenu(menu, v, menuInfo)
        menu?.setHeaderTitle("Menu");
        menu?.add(0, 1000, 0, R.string.context_add_content_title)

    }
 override fun onContextItemSelected(item: MenuItem?): Boolean {


            when(item?.itemId){
                1000 ->  startManageContentActivity()
            }

        Log.e("Clicked", "Yes at $item")
        return super.onContextItemSelected(item)
    }

    private fun startManageContentActivity() {
        val intent: Intent = Intent(activity, ManageContentActivity::class.java)
        startActivity(intent)
    }

Can someone help me with this


Solution

  • I don't know much about kotlin but I know in java it would be:

    @Override
    public boolean onContextItemSelected(MenuItem item) {
    
        if (item.getTitle() == getResources().getString(R.string.context_add_content_title)) {
            // do whatever
        }else {
            return  false;
        }
        return true;
    }