java - Android development: "R cannot be resolved", but in only one context within the class -
i'm following along closely in code lauren darcy's teach android application development in 24 hours. i've hit snag "r cannot resolved." on 1 line:
final view layout=inflater.inflate(r.layout.password_dialog, (viewgroup) findviewbyid(r.id.root)); the "r cannot resolved" shows on line twice, once each reference r.
- if copy , paste author's code, same result, it's not typo
- from reading posts of others have encountered same issue, sounds r not resolved anywhere in class. however, use r in other contexts in class without objection , expected results.
- another common piece of advice verify i'm not importing android.r. i'm not.
at wit's end here... should looking?
the class in full:
package com.oneinfinity.btdt; import java.util.calendar; import android.app.datepickerdialog; import android.app.dialog; import android.content.context; import android.content.sharedpreferences; import android.content.sharedpreferences.editor; import android.os.bundle; import android.text.format.dateformat; import android.text.format.time; import android.util.log; import android.view.keyevent; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.button; import android.widget.datepicker; import android.widget.edittext; import android.widget.spinner; import android.widget.textview; import android.widget.toast; public class quizsettingsactivity extends quizactivity { sharedpreferences mgamesettings; static final int date_dialog_id=0; static final int password_dialog_id=1; /** called when activity first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.settings); mgamesettings=getsharedpreferences(game_preferences, mode_private); inittextfield(r.id.etnickname, game_preferences_nickname); inittextfield(r.id.etemail, game_preferences_email); writebirthday(); button setpass=(button) findviewbyid(r.id.buttonpassword); button setbd=(button) findviewbyid(r.id.buttonbirthday); setpass.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { //todo - password dialog toast.maketext(quizsettingsactivity.this, "todo: password form", toast.length_long).show(); } }); setbd.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { //todo - birthday dialog //toast.maketext(quizsettingsactivity.this, "todo: birthday form", toast.length_long).show(); showdialog(date_dialog_id); } }); setspinner(r.id.spinnergender, r.array.genderset, game_preferences_gender); } private void setspinner(int whichspinner, int whicharray, string whichpref) { final string putstring=whichpref; final spinner spinner=(spinner) findviewbyid(whichspinner); arrayadapter<?> adapter=arrayadapter.createfromresource(this, whicharray, android.r.layout.simple_spinner_item); adapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); spinner.setadapter(adapter); if(mgamesettings.contains(putstring)) { int toselect=mgamesettings.getint(putstring, 0); spinner.setselection(toselect); } spinner.setonitemselectedlistener(new adapterview.onitemselectedlistener() { public void onitemselected(adapterview<?> parent, view itemselected, int selecteditemposition, long selectedid) { editor editor = mgamesettings.edit(); editor.putint(putstring, selecteditemposition); editor.commit(); //test whether committed if(mgamesettings.contains(putstring)) { log.i("trace", "gender set " + mgamesettings.getint(putstring, 0)+""); } else { log.i("trace", "gender has not been specied yet"); } } public void onnothingselected(adapterview<?> parent) { toast.maketext(quizsettingsactivity.this, "todo:handle nothing selected", toast.length_long).show(); } }); } private void inittextfield(int whichfield, string whichsetting) { final string putsetting=whichsetting; final edittext findfield=(edittext) findviewbyid(whichfield); if(mgamesettings.contains(putsetting)) { string textstring=mgamesettings.getstring(putsetting, ""); findfield.settext(textstring); } findfield.setonkeylistener(new view.onkeylistener() { public boolean onkey(view v, int keycode, keyevent event) { if((event.getaction()==keyevent.action_down) && (keycode==keyevent.keycode_enter)) { string strvaluetosave=findfield.gettext().tostring(); editor editor = mgamesettings.edit(); editor.putstring(putsetting, strvaluetosave); editor.commit(); return true; } return false; } }); } /* in case necessary repeat these instructions private void initnicknameentry() { final edittext nicknametext=(edittext) findviewbyid(r.id.etnickname); nicknametext.setonkeylistener(new view.onkeylistener() { public boolean onkey(view v, int keycode, keyevent event) { if((event.getaction()==keyevent.action_down) && (keycode==keyevent.keycode_enter)) { string strvaluetosave=nicknametext.gettext().tostring(); return true; } return false; } }); } */ @override protected dialog oncreatedialog(int id) { switch(id) { case date_dialog_id: datepickerdialog datedialog = new datepickerdialog(this, new datepickerdialog.ondatesetlistener() { public void ondateset(datepicker view, int year, int monthofyear, int dayofmonth) { textview dob=(textview) findviewbyid(r.id.textview_bday_info); time dateofbirth=new time(); dateofbirth.set(dayofmonth, monthofyear, year); long dtdob = dateofbirth.tomillis(true); dob.settext(dateformat.format("mmmm dd, yyyy", dtdob)); editor editor=mgamesettings.edit(); editor.putlong(game_preferences_dob, dtdob); editor.commit(); } }, 0, 0, 0 ); return datedialog; case password_dialog_id: //create dialog layoutinflater inflater=(layoutinflater) getsystemservice(context.layout_inflater_service); final view layout=inflater.inflate(r.layout.password_dialog, (viewgroup) findviewbyid(r.id.root)); //return dialog; } return null; } @override protected void onpreparedialog(int id, dialog dialog) { switch(id) { case date_dialog_id: datepickerdialog datedialog = (datepickerdialog) dialog; int iday, imonth, iyear; if(mgamesettings.contains(game_preferences_dob)) { long bd=mgamesettings.getlong(game_preferences_dob, 0); time birthday=new time(); birthday.set(bd); iday=birthday.monthday; imonth=birthday.month; iyear=birthday.year; log.i("trace", "verifying no longer year 2"); } else { calendar cal=calendar.getinstance(); iday=cal.get(calendar.day_of_month); imonth=cal.get(calendar.month); iyear=cal.get(calendar.year); } datedialog.updatedate(iyear, imonth, iday); return; case password_dialog_id: //prepare dialog return; } } private void writebirthday() { textview dob=(textview) findviewbyid(r.id.textview_bday_info); charsequence mybirthday=getresources().getstring(r.string.no_birthday); if(mgamesettings.contains(game_preferences_dob)) { long bd=mgamesettings.getlong(game_preferences_dob, 0); mybirthday=dateformat.format("mmmm dd, yyyy", bd); } dob.settext(mybirthday); } }
try going project -> clean, run that. go project -> build project. may need uncheck "build automatically" first.
Comments
Post a Comment