Tuesday, 15 September 2015

Unable to display FragmentActivity in Scrollable Tab Android -



Unable to display FragmentActivity in Scrollable Tab Android -

i have tabspageradapter class utilize scrollable tabs in android app. however, problem in 1 of tabs have fragmentactivity , unable homecoming class in scrollable tab.

i not sure do. if remove

import com.spicycurryman.getdisciplined10.app.installedappactivity;

i still receive error.

here installedappactivity class :

package com.spicycurryman.getdisciplined10.app; import android.app.alertdialog; import android.app.progressdialog; import android.content.activitynotfoundexception; import android.content.dialoginterface; import android.content.intent; import android.content.pm.applicationinfo; import android.content.pm.packagemanager; import android.net.uri; import android.os.asynctask; import android.os.bundle; import android.support.v4.app.fragmentactivity; import android.view.layoutinflater; import android.view.menu; import android.view.menuinflater; import android.view.menuitem; import android.view.view; import android.view.viewgroup; import android.widget.adapterview; import android.widget.listview; import android.widget.toast; import android.widget.adapterview.onitemclicklistener; import com.javatechig.listapps.applicationadapter; import java.util.arraylist; import java.util.list; public class installedappactivity extends fragmentactivity { private packagemanager packagemanager = null; private list<applicationinfo> applist = null; private applicationadapter listadaptor = null; listview installedapplist; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.installed_apps); installedapplist = (listview) findviewbyid(r.id.installed_list); packagemanager = getpackagemanager(); new loadapplications().execute(); installedapplist.setonitemclicklistener(new onitemclicklistener() { @override public void onitemclick(adapterview<?> adapterview, view view, int i, long l) { applicationinfo app = applist.get(i); seek { intent intent = packagemanager .getlaunchintentforpackage(app.packagename); if (null != intent) { startactivity(intent); } } grab (activitynotfoundexception e) { toast.maketext(installedappactivity.this, e.getmessage(), toast.length_long).show(); } grab (exception e) { toast.maketext(installedappactivity.this, e.getmessage(), toast.length_long).show(); } } }); } public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { super.oncreate(savedinstancestate); packagemanager = getpackagemanager(); new loadapplications().execute(); homecoming inflater.inflate(r.layout.installed_apps, container, false); } public boolean oncreateoptionsmenu(menu menu) { menuinflater inflater = getmenuinflater(); inflater.inflate(r.menu.block, menu); homecoming true; } public boolean onoptionsitemselected(menuitem item) { boolean result = true; switch (item.getitemid()) { case r.id.main_text: { displayaboutdialog(); break; } default: { result = super.onoptionsitemselected(item); break; } } homecoming result; } private void displayaboutdialog() { final alertdialog.builder builder = new alertdialog.builder(this); builder.settitle(getstring(r.string.app_name)); builder.setmessage(getstring(r.string.slogan)); builder.setpositivebutton("know more", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int id) { intent browserintent = new intent(intent.action_view, uri.parse("http://javatechig.com")); startactivity(browserintent); dialog.cancel(); } }); builder.setnegativebutton("no thanks!", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int id) { dialog.cancel(); } }); builder.show(); } //first effort /* @override protected void onlistitemclick(listview l, view v, int position, long id) { installedapplist.setonitemclicklistener() //super.onlistitemclick(l, v, position, id); applicationinfo app = applist.get(position); seek { intent intent = packagemanager .getlaunchintentforpackage(app.packagename); if (null != intent) { startactivity(intent); } } grab (activitynotfoundexception e) { toast.maketext(installedappactivity.this, e.getmessage(), toast.length_long).show(); } grab (exception e) { toast.maketext(installedappactivity.this, e.getmessage(), toast.length_long).show(); } }*/ //2nd effort /* private adapterview.onitemclicklistener onitemclicklistener = new adapterview.onitemclicklistener() { @override public void onitemclick(adapterview<?> adapterview, view view, int i, long l) { } protected void onlistitemclick(listview installedapplist, view v, int position, long id) { applicationinfo app = applist.get(position); seek { intent intent = packagemanager .getlaunchintentforpackage(app.packagename); if (null != intent) { startactivity(intent); } } grab (activitynotfoundexception e) { toast.maketext(installedappactivity.this, e.getmessage(), toast.length_long).show(); } grab (exception e) { toast.maketext(installedappactivity.this, e.getmessage(), toast.length_long).show(); } } };*/ //third effort private list<applicationinfo> checkforlaunchintent(list<applicationinfo> list) { arraylist<applicationinfo> applist = new arraylist<applicationinfo>(); (applicationinfo info : list) { seek { if (null != packagemanager.getlaunchintentforpackage(info.packagename)) { applist.add(info); } } grab (exception e) { e.printstacktrace(); } } homecoming applist; } private class loadapplications extends asynctask<void, void, void> { private progressdialog progress = null; @override protected void doinbackground(void... params) { applist = checkforlaunchintent(packagemanager.getinstalledapplications(packagemanager.get_meta_data)); listadaptor = new applicationadapter(installedappactivity.this, r.layout.snippet_list_row, applist); homecoming null; } @override protected void oncancelled() { super.oncancelled(); } @override protected void onpostexecute(void result) { //setlistadapter(listadaptor); installedapplist.setadapter(listadaptor); progress.dismiss(); super.onpostexecute(result); } @override protected void onpreexecute() { progress = progressdialog.show(installedappactivity.this, null, "loading application info..."); super.onpreexecute(); } @override protected void onprogressupdate(void... values) { super.onprogressupdate(values); } } }

here tabspageradapter class well:

package info.androidhive.tabsswipe.adapter; import android.support.v4.app.fragment; import android.support.v4.app.fragmentmanager; import android.support.v4.app.fragmentpageradapter; import com.spicycurryman.getdisciplined10.app.customlist_activity; import com.spicycurryman.getdisciplined10.app.installedappactivity; import com.spicycurryman.getdisciplined10.app.pre_installedapp_activity; public class tabspageradapter extends fragmentpageradapter { public tabspageradapter(fragmentmanager fm) { super(fm); } @override public fragment getitem(int index) { switch (index) { case 0: homecoming new installedappactivity(); case 1: homecoming new pre_installedapp_activity(); case 2: homecoming new customlist_activity(); } homecoming null; } @override public int getcount() { // item count - equal number of tabs homecoming 3; } }

moreover when seek utilize autocorrect says refactoring cannot performed. , when seek alter return new fragment(); instead nil shows up.

problem in 1 of tabs have fragmentactivity , unable homecoming class in scrollable tab.

it expect homecoming fragment not fragment activity. fragmentpager not take activity, activity cant instantiated fragments allowed.

documentation fragmentpageradapter

implementation of pageradapter represents each page fragment persistently kept in fragment manager long user can homecoming page.

solution:

return class extends fragment not fragment activity

android android-fragments

No comments:

Post a Comment