c# - RegisterForContextMenu seems to have no effect -
from i've been able gather google, calling registerforcontextmenu on view should have if want oncreatecontextmenu called when long click on said view. not happen.
the funny thing is, if pass in view instead of gamelist in code below, context menu appears if long click @ empty portion of main view. long clicking on list (which subview) still has no result.
i tried registering itemlongclick event listener on listview, not called either :/
the gamelist fragment run inside viewpager.
using android.views; using android.os; using android.runtime; using android.widget; using android.support.v4.app; using models = boardwar.common.models; using boardwar.androidclient.adapters; namespace boardwar.androidclient.fragments { public class gamelist : fragment { gamesadapter gamesadapter; public gamelist () { } public gamelist (intptr handle, jnihandleownership jni) : base(handle, jni) { } public override view oncreateview (layoutinflater inflater, viewgroup parent, bundle bundle) { return inflater.inflate(resource.layout.gamelist, parent, false); } public override void onactivitycreated (bundle p0) { base.onactivitycreated(p0); var mainactivity = activity mainactivity; var gamelist = view.findviewbyid<listview>(resource.id.game_list); gamesadapter = new gamesadapter(mainactivity); gamelist.adapter = gamesadapter; mainactivity.gamesadapter = gamesadapter; registerforcontextmenu(gamelist); view.findviewbyid(resource.id.new_game_button).click += (sender, e) => { mainactivity.replacechildfragments(typeof(newgame)); }; } public override void oncreatecontextmenu (icontextmenu menu, view view, icontextmenucontextmenuinfo menuinfo) { base.oncreatecontextmenu(menu, view, menuinfo); menu.add(resource.string.remove_finished_games); } public override bool oncontextitemselected (imenuitem item) { mainactivity.client.removefinishedgames(); return true; } public override void onresume () { base.onresume(); gamesadapter.updatelist(); } public override void ondestroyview () { base.ondestroyview(); (activity mainactivity).gamesadapter = null; } } }
my problem was registering clickhandlers on actual list-items, instead of global clickhandler on actual list-view. block click event propegating list-view, why context menu wouldn't appear.
Comments
Post a Comment