Android Spinner onItemSelected not being called inside Fragment -
i have activity calls several fragments. in 1 of fragments trying create dialog spinner programmatically , add menu option (in toolbar). manage make work (atleast view showing), onitemselected not getting called.
my code:
public class newsfeed extends fragment { private static final string tag = "tag"; private string tag; private arrayadapter<new> newsadapter; private arrayadapter<tag> tagsadapter; private spinner spinner; public newsfeed() { sethasoptionsmenu(true); } public static newsfeed newinstance(string tag) { newsfeed fragment = new newsfeed(); bundle args = new bundle(); args.putstring(tag, tag); fragment.setarguments(args); return fragment; } @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); if (getarguments() != null) { tag = getarguments().getstring(tag); } sethasoptionsmenu(true); } @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { getactivity().settitle(tag); navigationview activitynav = (navigationview) getactivity().findviewbyid(r.id.nav_view); bottomnavigationview activitybuttomnav = (bottomnavigationview) getactivity().findviewbyid(r.id.navigation); activitynav.setcheckeditem(r.id.nav_news); activitybuttomnav.getmenu().getitem(1).setchecked(true); view v = inflater.inflate(r.layout.fragment_news_feed, container, false); //spinner related code tagsadapter = new tagsadapter(getactivity(), android.r.layout.simple_spinner_item, (arraylist<tag>) applicationdata.tags); spinner = new spinner(getactivity(), spinner.mode_dialog); tagsadapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); spinner.setprompt("filtrar por categoria:"); spinner.setadapter(tagsadapter); spinner.setonitemselectedlistener(new adapterview.onitemselectedlistener() { @override public void onitemselected(adapterview<?> parent, view view, int position, long id) { } @override public void onnothingselected(adapterview<?> parent) { } }); newsadapter = new newsadapter(getactivity().getapplicationcontext(), 0, (arraylist<new>) applicationdata.news); listview listview = (listview) v.findviewbyid(r.id.listview); listview.setonitemclicklistener(new adapterview.onitemclicklistener() { @override public void onitemclick(adapterview<?> adapter, view view, int position, long id) { fragmenttransaction ft = getactivity().getsupportfragmentmanager().begintransaction(); newsdisplay nd = newsdisplay.newinstance(tag, applicationdata.news.get(position).getnewsurl()); ft.addtobackstack(null); ft.replace(r.id.fragmentcontent, nd).commit(); } }); listview.setadapter(newsadapter); return v; } @override public void oncreateoptionsmenu(menu menu, menuinflater inflater) { inflater.inflate(r.menu.main, menu); super.oncreateoptionsmenu(menu, inflater); } @override public boolean onoptionsitemselected(menuitem item) { int id = item.getitemid(); if (id == r.id.filter_category) { //for showing spinner spinner.performclick(); return true; } return super.onoptionsitemselected(item); } }
already tried:
to make newsfeed implementing onitemselectedlistener.
to create onitemselectedlistener object inside setonitemselectedlistener.
could give me help? might have being fragment , toolbar in activity.
Comments
Post a Comment