validation - Android: Dealing with blank/invalid entry? -


in following code taking answer user mathematical question. when answer entered question updates new one.

how add validation when user enters letters or hits submit without entering answer, question stays same , allows user enter again. @ minute, when happens app crashes. (note: main functionality refering occurs in onclick).

public class practicetest extends activity implements view.onclicklistener{     //declare vars     int multiplier;     int[] results=new int[12];     int numberpassed;     textview question;     edittext answer;     int score;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);          setcontentview(r.layout.practicetest);          // declares , int variable, assigns int value         // calling intent if not there defaulted 0         numberpassed = getintent().getintextra("convertednumber2", 0);          //setting vars(possibly in different method?              button submit = (button) findviewbyid(r.id.btngopractice2); //declared here used once         answer = (edittext) findviewbyid(r.id.etenternumberpractice2);         question = (textview) findviewbyid(r.id.tvtoppractice2);          //setting listeners         submit.setonclicklistener(this);          updatequestion();     }      public void onclick(view view) {         // sets text view equal whats typed in in edittext         final string entry = answer.gettext().tostring();          // convert string value int         int = integer.parseint(entry); //note: maybe change name          results[multiplier-1]=a;         score++;//irrelevant?          if(multiplier<12){              //called after answer given            updatequestion();         } else{             //system.out.println(score);             intent intent = new intent(this, results.class);             intent.putextra("results", results);             intent.putextra("numberpassed", numberpassed);             this.startactivity(intent);         }        }      public void updatequestion(){                multiplier++;          //string hold quest         string q= numberpassed + "x" + multiplier + "=";         question.settext(q);         answer.settext("");     } } 

so entry answer get? maybe try regex, can use code after submitting answer or check when user edits edittext. last thing can done textwatcher, make bit more complicated necessary.

if(entry.matches("[0-9]+") {   // new question } else {   // warning no valid answer } 

if want users have option input numbers. should set in edittext:

android:inputtype="number" 

Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -