Fragment cannot be cast to android.app.Activity in rss reader -


i followed this tutorial in order create rss reader (unfortunately, in spanish). however, rss must inside fragment converted mainactivity fragment:

import android.content.context; import android.content.intent; import android.database.cursor; import android.net.connectivitymanager; import android.net.networkinfo; import android.os.asynctask; import android.os.bundle; import android.support.v4.app.fragment; import android.support.v4.widget.simplecursoradapter; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.adapterview; import android.widget.listview; import com.android.volley.response; import com.android.volley.volleyerror; import com.my.app.mainactivity_tabs; import com.my.app.modelo.feeddatabase; import com.my.app.modelo.scriptdatabase; import com.my.app.r; import com.my.app.rssparse.rss; import com.my.app.web.volleysingleton; import com.my.app.web.xmlrequest;  /**  * creado por hermosa programación  *  * actividad principal que representa el home de la aplicación  */  public class news extends fragment {   private static final string tag = mainactivity_tabs.class.getsimplename();  public static final string url_feed = "www.forbes.com/fdc/rss.html";  private listview listview;  private feedadapter adapter;  @override public view oncreateview(layoutinflater inflater, viewgroup container,                          bundle savedinstancestate) {      view rootview = inflater.inflate(r.layout.activity_tab2, container, false);       // obtener la lista     listview = (listview) getactivity().findviewbyid(r.id.lista);      connectivitymanager connmgr = (connectivitymanager)             getactivity().getsystemservice(context.connectivity_service);     networkinfo networkinfo = connmgr.getactivenetworkinfo();     if (networkinfo != null && networkinfo.isconnected()) {         volleysingleton.getinstance(getactivity()).addtorequestqueue(                 new xmlrequest<>(                         url_feed,                         rss.class,                         null,                         new response.listener<rss>() {                             @override                             public void onresponse(rss response) {                                 // caching                                 feeddatabase.getinstance(getactivity()).                                         sincronizarentradas(response.getchannel().getitems());                                 // carga inicial de datos...                                 new loaddata().execute();                             }                         },                         new response.errorlistener() {                             @override                             public void onerrorresponse(volleyerror error) {                                 log.d(tag, "error volley: " + error.getmessage());                             }                         }                 )         );     } else {         log.i(tag, "la conexión internet no está disponible");         adapter = new feedadapter(                 getactivity(),                 feeddatabase.getinstance(getactivity()).obtenerentradas(),                 simplecursoradapter.flag_register_content_observer);         listview.setadapter(adapter);     }       // regisgrar escucha de la lista     listview.setonitemclicklistener(new adapterview.onitemclicklistener() {         @override         public void onitemclick(adapterview<?> parent, view view, int position, long id) {             cursor c = (cursor) adapter.getitem(position);              // obtene url de la entrada seleccionada             string url = c.getstring(c.getcolumnindex(scriptdatabase.columnentradas.url));              // nuevo intent explícito             intent = new intent(getactivity(), detailactivity.class);              // setear url             i.putextra("url-extra", url);              // iniciar actividad             startactivity(i);         }     });      return rootview; }  public class loaddata extends asynctask<void, void, cursor> {      @override     protected cursor doinbackground(void... params) {         // carga inicial de registros         return feeddatabase.getinstance(getactivity()).obtenerentradas();      }      @override     protected void onpostexecute(cursor cursor) {         super.onpostexecute(cursor);          // crear el adaptador         adapter = new feedadapter(                 getactivity(),                 cursor,                 simplecursoradapter.flag_register_content_observer);          // relacionar la lista con el adaptador         listview.setadapter(adapter);     } }  } 

but when run app, following error , cannot figure out why happens, ideas?

java.lang.runtimeexception: unable instantiate activity componentinfo{com.my.app/com.my.app.ui.news}: java.lang.classcastexception: com.my.app.ui.news cannot cast android.app.activity         @ android.app.activitythread.performlaunchactivity(activitythread.java:2195)         @ android.app.activitythread.handlelaunchactivity(activitythread.java:2319)         @ android.app.activitythread.access$1100(activitythread.java:135)         @ android.app.activitythread$h.handlemessage(activitythread.java:1232)         @ android.os.handler.dispatchmessage(handler.java:102)         @ android.os.looper.loop(looper.java:136)         @ android.app.activitythread.main(activitythread.java:5253)         @ java.lang.reflect.method.invokenative(native method)         @ java.lang.reflect.method.invoke(method.java:515)         @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:939)         @ com.android.internal.os.zygoteinit.main(zygoteinit.java:755)         @ dalvik.system.nativestart.main(native method)  caused by: java.lang.classcastexception: com.my.app.ui.news cannot  cast android.app.activity             @ android.app.instrumentation.newactivity(instrumentation.java:1064)             @ android.app.activitythread.performlaunchactivity(activitythread.java:2186)             at android.app.activitythread.handlelaunchactivity(activitythread.java:2319)             at android.app.activitythread.access$1100(activitythread.java:135)             at  android.app.activitythread$h.handlemessage(activitythread.java:1232)             at android.os.handler.dispatchmessage(handler.java:102)             at android.os.looper.loop(looper.java:136)             at android.app.activitythread.main(activitythread.java:5253)             at java.lang.reflect.method.invokenative(native method)             at java.lang.reflect.method.invoke(method.java:515)             at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:939)             at com.android.internal.os.zygoteinit.main(zygoteinit.java:755)             at dalvik.system.nativestart.main(native method) 

your intent starting news activity trying start news fragment (probably because manifest has news default launcher activity). fragment needs held inside activity instead.

see tutorial here on how add fragment activity.


Comments