android - How to turn on activity-based application into a fragment -
i learn programming mobile applications. decided convert 1 application of activity fragment, have problem. maybe of able me.
package pl.edu.ug.aib.studentizerapp.fragment; import android.app.fragment; import android.os.bundle; import android.text.editable; import android.text.textwatcher; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.arrayadapter; import android.widget.button; import android.widget.edittext; import android.widget.listview; import android.widget.tabhost; import android.widget.textview; import android.widget.toast; import org.androidannotations.annotations.efragment; import java.util.arraylist; import java.util.list; import pl.edu.ug.aib.studentizerapp.r; import pl.edu.ug.aib.studentizerapp.todolist.databasehandler; import pl.edu.ug.aib.studentizerapp.todolist.task; @efragment(r.layout.fragment_todo) public class todofragment extends fragment { edittext zadanietxt, opistxt, datatxt, adrestxt; list<task> tasks = new arraylist<task>(); listview tasklistview; databasehandler dbhandler; @override public view oncreateview (layoutinflater inflater, viewgroup container, bundle savedinstancestate){ return inflater.inflate(r.layout.fragment_todo, container, false); } @override public void onstart() { super.onstart(); zadanietxt = (edittext) getview().findviewbyid(r.id.txtzadanie); opistxt = (edittext) getview().findviewbyid(r.id.txtopis); datatxt = (edittext) getview().findviewbyid(r.id.txtdata); adrestxt = (edittext) getview().findviewbyid(r.id.txtadres); tasklistview = (listview) getview().findviewbyid(r.id.listview); dbhandler = new databasehandler(getactivity().getapplicationcontext()); tabhost tabhost = (tabhost) getview().findviewbyid(r.id.baner); tabhost.setup(); tabhost.tabspec tabspec = tabhost.newtabspec("dodaj zadanie"); tabspec.setcontent(r.id.tabzadanie); tabspec.setindicator("dodaj zadanie"); tabhost.addtab(tabspec); tabspec = tabhost.newtabspec("lista"); tabspec.setcontent(r.id.tablistazadan); tabspec.setindicator("lista"); tabhost.addtab(tabspec); final button addbtn = (button) getview().findviewbyid(r.id.btnadd); addbtn.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { task task = new task(dbhandler.gettaskcount(), string.valueof(zadanietxt.gettext()), string.valueof(opistxt.gettext()), string.valueof(datatxt.gettext()), string.valueof(adrestxt.gettext())); if (!taskexists(task)) { dbhandler.createzadanie(task); tasks.add(task); toast.maketext(getactivity().getapplicationcontext(), string.valueof(zadanietxt.gettext()) + " zostało dodane listy zadań!", toast.length_short).show(); return; } toast.maketext(getactivity().getapplicationcontext(), string.valueof(zadanietxt.gettext()) + " zadanie już istnieje", toast.length_short).show(); } }); zadanietxt.addtextchangedlistener(new textwatcher() { @override public void beforetextchanged(charsequence charsequence, int i, int i2, int i3) { } @override public void ontextchanged(charsequence charsequence, int i, int i2, int i3) { addbtn.setenabled(string.valueof(zadanietxt.gettext()).trim().length() > 0); } @override public void aftertextchanged(editable editable) { } }); if (dbhandler.gettaskcount() != 0) tasks.addall(dbhandler.getalltasks()); populatelist(); } private boolean taskexists(task task) { string zadanie = task.getzadanie(); int taskcount = tasks.size(); (int = 0; < taskcount; i++) { if (zadanie.comparetoignorecase(tasks.get(i).getzadanie()) == 0) return true; } return false; } // public void onactivityresult(int reqcode, int rescode, intent data) { // if (rescode == result_ok) { // if (reqcode == 1) { // imageuri = data.getdata(); // contactimageimgview.setimageuri(data.getdata()); // } // } // } private void populatelist() { arrayadapter<task> adapter = new tasklistadapter(); tasklistview.setadapter(adapter); } private class tasklistadapter extends arrayadapter<task> { public tasklistadapter() { super (todofragment.this, r.layout.listview_item, tasks); } @override public view getview(int position, view view, viewgroup parent) { if (view == null) view = getactivity().getlayoutinflater().inflate(r.layout.listview_item, parent, false); task currenttask = tasks.get(position); textview zadanie = (textview) view.findviewbyid(r.id.zadanie); zadanie.settext(currenttask.getzadanie()); textview opis = (textview) view.findviewbyid(r.id.opis); opis.settext(currenttask.getopis()); textview data = (textview) view.findviewbyid(r.id.data); data.settext(currenttask.getdata()); textview adres = (textview) view.findviewbyid(r.id.adres); adres.settext(currenttask.getadres()); return view; } } }
the problem here:
private class tasklistadapter extends arrayadapter<task> { public tasklistadapter() { super (todofragment.this, r.layout.listview_item, tasks); }
what can ?
there message gradle build
information:gradle tasks [:app:assembledebug] :app:prebuild :app:compiledebugndk up-to-date :app:predebugbuild :app:checkdebugmanifest :app:prereleasebuild :app:preparecomandroidsupportappcompatv72000library up-to-date :app:preparecomandroidsupportsupportv42000library up-to-date :app:preparecomfacebookandroidfacebookandroidsdk3211library up-to-date :app:preparecommakeramenroundedimageview150library up-to-date :app:preparedebugdependencies :app:compiledebugaidl up-to-date :app:compiledebugrenderscript up-to-date :app:generatedebugbuildconfig up-to-date :app:generatedebugassets up-to-date :app:mergedebugassets up-to-date :app:generatedebugresvalues up-to-date :app:generatedebugresources up-to-date :app:mergedebugresources :app:processdebugmanifest up-to-date :app:processdebugresources :app:generatedebugsources :app:compiledebugjava note: resolve log file c:\users\kisiel\androidstudioprojects\studentizer\app\build\generated\source\apt\androidannotations.log note: initialize androidannotations 3.2 options {androidmanifestfile=c:\users\kisiel\androidstudioprojects\studentizer\app\build\intermediates\manifests\full\debug\androidmanifest.xml} note: start processing 17 annotations on 32 elements note: androidmanifest.xml file found specified path: c:\users\kisiel\androidstudioprojects\studentizer\app\build\intermediates\manifests\full\debug\androidmanifest.xml note: androidmanifest.xml found: androidmanifest [applicationpackage=pl.edu.ug.aib.studentizerapp, componentqualifiednames=[pl.edu.ug.aib.studentizerapp.draweractivity_, pl.edu.ug.aib.studentizerapp.fragmentactivity_], permissionqualifiednames=[android.permission.internet, android.permission.camera, android.permission.write_external_storage, android.permission.access_fine_location, android.permission.access_coarse_location, android.permission.access_network_state, android.permission.send_sms], applicationclassname=null, libraryproject=false, debugabble=false, minsdkversion=9, maxsdkversion=-1, targetsdkversion=20] note: found project r class: pl.edu.ug.aib.studentizerapp.r note: found android class: android.r note: validating elements note: validating eactivityhandler: [pl.edu.ug.aib.studentizerapp.draweractivity, pl.edu.ug.aib.studentizerapp.fragmentactivity] note: validating efragmenthandler: [pl.edu.ug.aib.studentizerapp.fragment.dashboardfragment, pl.edu.ug.aib.studentizerapp.fragment.timetablefragment, pl.edu.ug.aib.studentizerapp.fragment.todofragment, pl.edu.ug.aib.studentizerapp.fragment.walletfragment] note: validating ebeanhandler: [pl.edu.ug.aib.studentizerapp.navigationdrawer.drawerhandler, pl.edu.ug.aib.studentizerapp.navigationdrawer.drawerlistadapter, pl.edu.ug.aib.studentizerapp.skmtimetable.adapter.trainslistadapter, pl.edu.ug.aib.studentizerapp.skmtimetable.backgroundtasks.restbackgroundtrainleft, pl.edu.ug.aib.studentizerapp.skmtimetable.backgroundtasks.restbackgroundtrainright] note: validating eviewgrouphandler: [pl.edu.ug.aib.studentizerapp.navigationdrawer.draweritemview, pl.edu.ug.aib.studentizerapp.skmtimetable.itemview.trainitemview] note: validating viewbyidhandler: [stanmiasto, stanpogoda, stanc, listtrainleftlstview, listtrainrightlstview, refreshbtn, restoregpsbtn, startidspinner, endidspinner, text, lefttxtview, righttxtview, leftlayout, rightlayout, drawerlayout, drawerlist, icon, name, hour, minute, tip] note: validating clickhandler: [refreshbtnclicked(), restoregpsbtn()] note: validating resthandler: [pl.edu.ug.aib.studentizerapp.dashboard.dashboardrestclient, pl.edu.ug.aib.studentizerapp.skmtimetable.skmrestclient] note: validating gethandler: [gettrains(int,int,int), gettrains(int,int,int)] note: validating optionsitemhandler: [drawertoggleselected(android.view.menuitem)] note: validating restservicehandler: [restclient, restclient] note: validating rootcontexthanlder: [draweractivity, context, context, activity, activity] note: validating nonconfigurationinstancehandler: [restbackgroundtrainleft, restbackgroundtrainright] note: validating beanhandler: [restbackgroundtrainleft, restbackgroundtrainright, drawerhandler, adapterleft, adapterright, drawerlistadapter] note: validating afterinjecthandler: [init()] note: validating afterviewshandler: [init(), init(), init(), init()] note: validating uithreadhandler: [publishresult(pl.edu.ug.aib.studentizerapp.skmtimetable.data.trainslist), publisherror(java.lang.exception), publishwarning(), publishresult(pl.edu.ug.aib.studentizerapp.skmtimetable.data.trainslist), publisherror(java.lang.exception), publishwarning()] note: validating backgroundhandler: [gettrains(int,int,int), gettrains(int,int,int)] note: processing root elements note: processing root elements eactivityhandler: [pl.edu.ug.aib.studentizerapp.fragmentactivity, pl.edu.ug.aib.studentizerapp.draweractivity] note: processing root elements efragmenthandler: [pl.edu.ug.aib.studentizerapp.fragment.walletfragment, pl.edu.ug.aib.studentizerapp.fragment.timetablefragment, pl.edu.ug.aib.studentizerapp.fragment.dashboardfragment, pl.edu.ug.aib.studentizerapp.fragment.todofragment] note: processing root elements ebeanhandler: [pl.edu.ug.aib.studentizerapp.skmtimetable.backgroundtasks.restbackgroundtrainleft, pl.edu.ug.aib.studentizerapp.skmtimetable.backgroundtasks.restbackgroundtrainright, pl.edu.ug.aib.studentizerapp.navigationdrawer.drawerlistadapter, pl.edu.ug.aib.studentizerapp.skmtimetable.adapter.trainslistadapter, pl.edu.ug.aib.studentizerapp.navigationdrawer.drawerhandler] note: processing root elements eviewgrouphandler: [pl.edu.ug.aib.studentizerapp.navigationdrawer.draweritemview, pl.edu.ug.aib.studentizerapp.skmtimetable.itemview.trainitemview] note: processing root elements resthandler: [pl.edu.ug.aib.studentizerapp.skmtimetable.skmrestclient, pl.edu.ug.aib.studentizerapp.dashboard.dashboardrestclient] note: processing enclosed elements note: number of files generated androidannotations: 15 note: writting following api classes in project: [] note: generating class: pl.edu.ug.aib.studentizerapp.skmtimetable.itemview.trainitemview_ note: generating class: pl.edu.ug.aib.studentizerapp.fragment.dashboardfragment_ note: generating class: pl.edu.ug.aib.studentizerapp.fragment.todofragment_ note: generating class: pl.edu.ug.aib.studentizerapp.fragment.timetablefragment_ note: generating class: pl.edu.ug.aib.studentizerapp.fragment.walletfragment_ note: generating class: pl.edu.ug.aib.studentizerapp.skmtimetable.adapter.trainslistadapter_ note: generating class: pl.edu.ug.aib.studentizerapp.skmtimetable.skmrestclient_ note: generating class: pl.edu.ug.aib.studentizerapp.dashboard.dashboardrestclient_ note: generating class: pl.edu.ug.aib.studentizerapp.draweractivity_ note: generating class: pl.edu.ug.aib.studentizerapp.fragmentactivity_ note: generating class: pl.edu.ug.aib.studentizerapp.skmtimetable.backgroundtasks.restbackgroundtrainleft_ note: generating class: pl.edu.ug.aib.studentizerapp.skmtimetable.backgroundtasks.restbackgroundtrainright_ note: generating class: pl.edu.ug.aib.studentizerapp.navigationdrawer.drawerhandler_ note: generating class: pl.edu.ug.aib.studentizerapp.navigationdrawer.draweritemview_ note: generating class: pl.edu.ug.aib.studentizerapp.navigationdrawer.drawerlistadapter_ note: time measurements: [whole processing = 187 ms], [generate sources = 100 ms], [process annotations = 38 ms], [validate annotations = 17 ms], [find r classes = 10 ms], [extract annotations = 9 ms], [extract manifest = 6 ms], note: finish processing note: start processing 0 annotations on 15 elements note: time measurements: [whole processing = 0 ms], note: finish processing note: start processing 0 annotations on 0 elements note: time measurements: [whole processing = 1 ms], note: finish processing c:\users\kisiel\androidstudioprojects\studentizer\app\src\main\java\pl\edu\ug\aib\studentizerapp\navigationdrawer\drawerlistadapter.java error:(36, 19) error: constructor draweritem in class draweritem cannot applied given types; required: int,int,class<? extends fragment> found: string,int,class<todofragment_> reason: actual argument string cannot converted int method invocation conversion note: c:\users\kisiel\androidstudioprojects\studentizer\app\src\main\java\pl\edu\ug\aib\studentizerapp\fragment\timetablefragment.java uses unchecked or unsafe operations. note: recompile -xlint:unchecked details. error:execution failed task ':app:compiledebugjava'. > compilation failed; see compiler error output details. information:build failed information:total time: 5.649 secs information:2 errors information:0 warnings information:see complete output in console
the super (todofragment.this, r.layout.listview_item, tasks);
looking context have todofragment.this (which fragment , not context).
try calling todofragment.this.getactivity() instead of todofragment.this , should set.
Comments
Post a Comment