loader - Incompatible error in loadmanager in android studio -


i getting error in public loader<list<earthquake>> oncreateloader(int i, bundle bundle) method, giving error - "error:(116, 16) error: incompatible types: earthquakeloader cannot converted loader<list<earthquake>>"

also showing error in loadermanager loadermanager = getloadermanager();

so using getsupportloadermanager() instead.

loadermanager loadermanager = getsupportloadermanager();

and resolves earthquakeactivity.java

package com.example.android.quakereport;   import android.content.intent; import android.net.uri; import android.os.bundle; import android.support.v4.app.loadermanager; import android.support.v4.content.loader; import android.support.v7.app.appcompatactivity; import android.util.log; import android.view.view; import android.widget.adapterview; import android.widget.listview;  import java.util.arraylist; import java.util.list;  import static android.r.attr.data;  public class earthquakeactivity extends appcompatactivity implements loadermanager.loadercallbacks< list<earthquake> > {      private static final string log_tag = earthquakeactivity.class.getname();     private static final string usgs_request_url =             "http://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&orderby=time&minmag=6&limit=10";     //http://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&orderby=time&minmag=6&limit=10  https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2017-08-01&endtime=2017-08-30&minmagnitude=6     private earthquakeadapter madapter;      private static final int earthquake_loader_id = 1;        @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.earthquake_activity);            log.i("info-check" ,"wtf----- change");          // find reference {@link listview} in layout         listview earthquakelistview = (listview) findviewbyid(r.id.list);          // create new adapter takes empty list of earthquakes input         madapter = new earthquakeadapter(this, new arraylist<earthquake>());          // set adapter on {@link listview}         // list can populated in user interface         earthquakelistview.setadapter(madapter);          // set item click listener on listview, sends intent web browser         // open website more information selected earthquake.         earthquakelistview.setonitemclicklistener(new adapterview.onitemclicklistener() {             @override             public void onitemclick(adapterview<?> adapterview, view view, int position, long l) {                 // find current earthquake clicked on                 earthquake currentearthquake = madapter.getitem(position);                  // convert string url uri object (to pass intent constructor)                 uri earthquakeuri = uri.parse(currentearthquake.geturl());                  // create new intent view earthquake uri                 intent websiteintent = new intent(intent.action_view, earthquakeuri);                  // send intent launch new activity                 startactivity(websiteintent);             }         });            // reference loadermanager, in order interact loaders.         loadermanager loadermanager = getsupportloadermanager();          // initialize loader. pass in int id constant defined above , pass in null         // bundle. pass in activity loadercallbacks parameter (which valid         // because activity implements loadercallbacks interface).         loadermanager.initloader(earthquake_loader_id, null, this).forceload();          log.i("info-check" ,"task executed");      }      @override     public loader<list<earthquake>> oncreateloader(int i, bundle bundle) {         // create new loader given url         return new earthquakeloader(this, usgs_request_url);     }       @override     public void onloadfinished(loader<list<earthquake>> loader, list<earthquake> earthquakes) {         // clear adapter of previous earthquake data         madapter.clear();          // if there valid list of {@link earthquake}s, add them adapter's         // data set. trigger listview update.         if (earthquakes != null && !earthquakes.isempty()) {             madapter.addall(earthquakes);         }     }      @override     public void onloaderreset(loader<list<earthquake>> loader) {         // loader reset, can clear out our existing data.         madapter.clear();     }    } 

earthquakeloader

package com.example.android.quakereport;  import android.content.asynctaskloader; import android.content.context;  import java.util.list;  /**  * loads list of earthquakes using asynctask perform  * network request given url.  */ public class earthquakeloader extends asynctaskloader<list<earthquake>> {      /** tag log messages */     private static final string log_tag = earthquakeloader.class.getname();      /** query url */     private string murl;      /**      * constructs new {@link earthquakeloader}.      *      * @param context of activity      * @param url load data      */     public earthquakeloader(context context, string url) {         super(context);         murl = url;     }      @override     protected void onstartloading() {         forceload();     }      /**      * on background thread.      */     @override     public list<earthquake> loadinbackground() {         if (murl == null) {             return null;         }          // perform network request, parse response, , extract list of earthquakes.         list<earthquake> earthquakes = queryutils.fetchearthquakedata(murl);         return earthquakes;     }   } 


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -