java - Actual argument String cannot be converted to int by method invocation conversion - how to fix it -
hello have error:
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
this code todofragment:
package pl.edu.ug.aib.studentizerapp.fragment; import android.annotation.targetapi; import android.app.fragment; import android.os.build; 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; @targetapi(build.version_codes.honeycomb) @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; } private void populatelist() { arrayadapter<task> adapter = new tasklistadapter(); tasklistview.setadapter(adapter); } private class tasklistadapter extends arrayadapter<task> { public tasklistadapter() { super (todofragment.this.getactivity(), 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; } } }
and drawerlistadapter
package pl.edu.ug.aib.studentizerapp.navigationdrawer; import android.content.context; import android.view.view; import android.view.viewgroup; import android.widget.baseadapter; import org.androidannotations.annotations.afterinject; import org.androidannotations.annotations.ebean; import org.androidannotations.annotations.rootcontext; import java.util.arraylist; import java.util.list; import pl.edu.ug.aib.studentizerapp.r; import pl.edu.ug.aib.studentizerapp.fragment.todofragment_; import pl.edu.ug.aib.studentizerapp.fragment.timetablefragment_; import pl.edu.ug.aib.studentizerapp.fragment.dashboardfragment_; import pl.edu.ug.aib.studentizerapp.fragment.walletfragment_; @ebean public class drawerlistadapter extends baseadapter { @rootcontext context context; list<draweritem> items = new arraylist<draweritem>(); @afterinject void init() { items.clear(); //dodawanie drawera listy fragmentów items.add(new draweritem(r.string.title_dashboard, r.drawable.icon_home, dashboardfragment_.class)); items.add(new draweritem(r.string.title_timetable, r.drawable.ic_directions_transit_white_24dp, timetablefragment_.class)); items.add(new draweritem("lista zadań", r.drawable.icon_about, todofragment_.class)); items.add(new draweritem(r.string.title_wallet, r.drawable.wallet_grey, walletfragment_.class)); } @override public view getview(int position, view convertview, viewgroup parent) { draweritemview draweritemview; if (convertview == null) { draweritemview = draweritemview_.build(context); } else { draweritemview = (draweritemview) convertview; } draweritemview.bind(getitem(position)); return draweritemview; } @override public int getcount() { return items.size(); } @override public draweritem getitem(int position) { return items.get(position); } @override public long getitemid(int position) { return position; } }
i searched many topics on forum did not find answers how can fix it. hope of me. if have put pieces of code, write in comments.
package pl.edu.ug.aib.studentizerapp.navigationdrawer; import android.support.v4.app.fragment; public class draweritem { private int titleresid; private int iconresid; private class<? extends fragment> fragmentclass; public draweritem(int titleresid, int iconresid, class<? extends fragment> fragmentclass) { this.titleresid = titleresid; this.iconresid = iconresid; this.fragmentclass = fragmentclass; } public int gettitleresid() { return titleresid; } public int geticonresid() { return iconresid; } public class<? extends fragment> getfragmentclass() { return fragmentclass; } }
the error in here
items.add(new draweritem("lista zadań", r.drawable.icon_about, todofragment_.class));
you passing string
parameters , should , int
. put "lista zadań"
in resources , pass other strings
Comments
Post a Comment