java - Why setText is not working? -
i'm trying make app newsfeed volley json file, data displays in cardviews , want when user clicks in cardviews opens whole article , i'm using dialogfragment (i don't find other way) problem when dialogfragment opens shows default text set in layout, want show title of each article in dialogfragment, know there lot of errors in code , because app, hope can give , advice, thanks.
mainactivity
recyclerview.addonitemtouchlistener(new myrecycleradapter.recyclertouchlistener(getapplicationcontext(), recyclerview, new myrecycleradapter.clicklistener() { @override public void onclick(view view, int position) { bundle bundle = new bundle(); bundle.putserializable("images", datos); bundle.putint("position", position); fragmenttransaction ft = getsupportfragmentmanager().begintransaction(); detalles newfragment = detalles.newinstance(); newfragment.setarguments(bundle); newfragment.show(ft, "slideshow"); } detalles.java
public class detalles extends dialogfragment{ private string tag = detalles.class.getsimplename(); private arraylist<newsfeed> datos; private textview tituloon, notoon; private view viewpager; private myviewpageradapter myviewpageradapter; private int selectedposition = 0; static detalles newinstance() { detalles f = new detalles(); return f; } public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view v = inflater.inflate(r.layout.detalles_completo, container, false); tituln = (textview) v.findviewbyid(r.id.titulon); notlnn = (textview) v.findviewbyid(r.id.noton); datos = (arraylist<newsfeed>) getarguments().getserializable("images"); myviewpageradapter = new myviewpageradapter(); selectedposition = getarguments().getint("position"); return v; } private void displaymetainfo(int position) { newsfeed image = datos.get(position); tituln.settext(image.getfeedname()); notlnn.settext(image.getcontent()); } @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); } public class myviewpageradapter extends pageradapter { private layoutinflater layoutinflater; public myviewpageradapter() { } @override public object instantiateitem(viewgroup container, int position) { layoutinflater = (layoutinflater) getactivity().getsystemservice(context.layout_inflater_service); view view = layoutinflater.inflate(r.layout.detalles_completo, container, false); newsfeed image = datos.get(position); tituln.settext(image.getfeedname()); container.addview(view); return view; } @override public int getcount() { return datos.size(); } @override public boolean isviewfromobject(view view, object obj) { return view == ((view) obj); } @override public void destroyitem(viewgroup container, int position, object object) { container.removeview((view) object); } } }
(apologies answering rather commenting - don't have required reputation comment)
it's not clear mean "title" or want display in, it's rather difficult help. i'm going assume title datos.get(position).getfeedname() , want display in textview reference stored in member variable tituln. please correct me if i'm wrong.
if indeed want do, looks problem none of code in dialog fragment sets text. see have call tituln.settext in displaymetainfo() method, method never called (at least in provided code).
if want title working, might consider calling displaymetainfo() somewhere. i'd recommend overriding [void onviewcreated(view, bundle) method](https://developer.android.com/reference/android/app/fragment.html#onviewcreated(android.view.view, android.os.bundle)) in detalles , doing there.
Comments
Post a Comment