Cannot resolve method 'show(android.support.v4.app.FragmentTransaction, java.lang.String)' -
i trying create image gallery view pager. getting error saying cannot resolve method 'show(android.support.v4.app.fragmenttransaction, java.lang.string)' newfragment.show(ft, "slideshow");i have read similar questions related fragment manager not helping newbie , using fragmenttransaction not fragmentmanager. can me fix ?
import android.app.fragment; import android.app.progressdialog; import android.os.bundle; import android.support.v4.app.fragmentmanager; import android.support.v4.app.fragmenttransaction; import android.support.v7.app.appcompatactivity; import android.support.v7.widget.toolbar; import android.util.log; import android.view.view; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import android.support.v7.widget.defaultitemanimator; import android.support.v7.widget.gridlayoutmanager; import android.support.v7.widget.recyclerview; import com.android.volley.response; import com.android.volley.volleyerror; import com.android.volley.toolbox.jsonarrayrequest; import java.util.arraylist; public class mainactivity extends appcompatactivity { private string tag = mainactivity.class.getsimplename(); private static final string endpoint = "http://demos.vetbossel.in/ajson/image.json"; private arraylist<image1> images; private progressdialog pdialog; private galleryadapter madapter; private recyclerview recyclerview; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar); setsupportactionbar(toolbar); recyclerview = (recyclerview) findviewbyid(r.id.recycler_view); pdialog = new progressdialog(this); images = new arraylist<>(); madapter = new galleryadapter(getapplicationcontext(), images); recyclerview.layoutmanager mlayoutmanager = new gridlayoutmanager(getapplicationcontext(), 2); recyclerview.setlayoutmanager(mlayoutmanager); recyclerview.setitemanimator(new defaultitemanimator()); recyclerview.setadapter(madapter); recyclerview.addonitemtouchlistener(new galleryadapter.recyclertouchlistener(getapplicationcontext(), recyclerview, new galleryadapter.clicklistener() { @override public void onclick(view view, int position) { bundle bundle = new bundle(); bundle.putserializable("images", images); bundle.putint("position", position); fragmenttransaction ft = getsupportfragmentmanager().begintransaction(); slideshowdialogfragment newfragment = slideshowdialogfragment.newinstance(); newfragment.setarguments(bundle); newfragment.show(ft,"tag"); } @override public void onlongclick(view view, int position) { } })); fetchimages(); } private void fetchimages() { pdialog.setmessage("loading images..."); pdialog.show(); jsonarrayrequest req = new jsonarrayrequest(endpoint, new response.listener<jsonarray>() { @override public void onresponse(jsonarray response) { log.d(tag, response.tostring()); pdialog.hide(); images.clear(); (int = 0; < response.length(); i++) { try { jsonobject object = response.getjsonobject(i); image1 image = new image1(); jsonobject url = object.getjsonobject("url"); image.setsmall(url.getstring("small")); image.setmedium(url.getstring("medium")); image.setlarge(url.getstring("large")); images.add(image); } catch (jsonexception e) { log.e(tag, "json parsing error: " + e.getmessage()); } } madapter.notifydatasetchanged(); } }, new response.errorlistener() { @override public void onerrorresponse(volleyerror error) { log.e(tag, "error: " + error.getmessage()); pdialog.hide(); } }); // adding request request queue appcontroller.getinstance().addtorequestqueue(req); } }
actually problem in slideshowdialogfragment class. in android there 2 dialogfragment
android.support.v4.app.dialogfragmentandroid.app.dialogfragment
as slideshowdialogfragment class extend 2nd one, cant use android.support.v4.app.fragmenttransaction.
solution go slideshowdialogfragment class , replace import android.app.dialogfragment; import android.support.v4.app.dialogfragment;. work fine.
Comments
Post a Comment