Android Button Does Not Work -


okay making application fun has random number pop on screen. if tap button same number random number point, , if tap button incorrect number, lose point. catch have 10 seconds score enough points. anyway have 2 main problems application. when tap correct button, score not go up. however, if tap incorrect button, score go down. find odd. also, having trouble setting content view after timer runs out, tell player if he/she won or not. need make separate activity set new content view, or have different error?

thank help!

here activity class:

package ab.game.crazynumbers;  import java.util.random; import java.util.timer; import java.util.timertask;  import android.app.activity; import android.os.bundle; import android.os.handler; import android.view.motionevent; import android.view.view; import android.widget.button; import android.widget.textview;  public class level1activity extends activity {  random r; timer t; int random; double time; boolean running = false; textview showingnumber; textview score; textview timer; handler handler; button b1; button b2; button b3; button b4; button b5; button b6; button b7; button b8; button b9; button b0; int playerscore; textview finalscore; textview finalscore2;  protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.level_1);      playerscore = 0;      showingnumber = (textview) findviewbyid(r.id.game_number);     score = (textview) findviewbyid(r.id.game_score);     timer = (textview) findviewbyid(r.id.game_timer);     finalscore = (textview) findviewbyid(r.id.finalscore);     finalscore2 = (textview) findviewbyid(r.id.finalscore2);      running = true;     time = 10.0;      b0 = (button) findviewbyid(r.id.b1_0);     b1 = (button) findviewbyid(r.id.b1_1);     b2 = (button) findviewbyid(r.id.b1_2);     b3 = (button) findviewbyid(r.id.b1_3);     b4 = (button) findviewbyid(r.id.b1_4);     b5 = (button) findviewbyid(r.id.b1_5);     b6 = (button) findviewbyid(r.id.b1_6);     b7 = (button) findviewbyid(r.id.b1_7);     b8 = (button) findviewbyid(r.id.b1_8);     b9 = (button) findviewbyid(r.id.b1_9);      randomnumber();      b1.setontouchlistener(new view.ontouchlistener() {          public boolean ontouch(view v, motionevent e) {              if (e.getaction() == android.view.motionevent.action_up) {                  if (1 == random) {                     playerscore++;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }                  if (1 != random) {                     playerscore--;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }             }              return false;          }     });      b2.setontouchlistener(new view.ontouchlistener() {          public boolean ontouch(view v, motionevent e) {              if (e.getaction() == android.view.motionevent.action_up) {                  if (2 == random) {                     playerscore++;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }                  if (2 != random) {                     playerscore--;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }             }              return false;         }     });      b3.setontouchlistener(new view.ontouchlistener() {          public boolean ontouch(view v, motionevent e) {              if (e.getaction() == android.view.motionevent.action_up) {                  if (3 == random) {                     playerscore++;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }                  if (3 != random) {                     playerscore--;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }             }              return false;         }     });      b4.setontouchlistener(new view.ontouchlistener() {          public boolean ontouch(view v, motionevent e) {              if (e.getaction() == android.view.motionevent.action_up) {                  if (4 == random) {                     playerscore++;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }                  if (4 != random) {                     playerscore--;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }             }              return false;         }     });      b5.setontouchlistener(new view.ontouchlistener() {          public boolean ontouch(view v, motionevent e) {              if (e.getaction() == android.view.motionevent.action_up) {                  if (5 == random) {                     playerscore++;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }                  if (5 != random) {                     playerscore--;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }             }              return false;         }     });      b6.setontouchlistener(new view.ontouchlistener() {          public boolean ontouch(view v, motionevent e) {              if (e.getaction() == android.view.motionevent.action_up) {                  if (6 == random) {                     playerscore++;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }                  if (6 != random) {                     playerscore--;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }             }              return false;         }     });      b7.setontouchlistener(new view.ontouchlistener() {          public boolean ontouch(view v, motionevent e) {              if (e.getaction() == android.view.motionevent.action_up) {                  if (7 == random) {                     playerscore++;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }                  if (7 != random) {                     playerscore--;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }             }              return false;         }     });      b8.setontouchlistener(new view.ontouchlistener() {          public boolean ontouch(view v, motionevent e) {              if (e.getaction() == android.view.motionevent.action_up) {                  if (8 == random) {                     playerscore++;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }                  if (8 != random) {                     playerscore--;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }             }              return false;         }     });      b9.setontouchlistener(new view.ontouchlistener() {          public boolean ontouch(view v, motionevent e) {              if (e.getaction() == android.view.motionevent.action_up) {                  if (9 == random) {                     playerscore++;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }                  if (9 != random) {                     playerscore--;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }             }              return false;         }     });      b0.setontouchlistener(new view.ontouchlistener() {          public boolean ontouch(view v, motionevent e) {              if (e.getaction() == android.view.motionevent.action_up) {                  if (0 == random) {                     playerscore++;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }                  if (0 != random) {                     playerscore--;                     runonuithread(new runnable() {                         public void run() {                             score.settext("your score " + playerscore);                         }                     });                     randomnumber();                 }             }              return false;         }     });      starttimer();  }  public void starttimer() {      timer t = new timer("game timer");      handler = new handler();      t.scheduleatfixedrate(new timertask() {          @override         public void run() {              if (time > 0) {                  time -= 0.1;                  time = math.round(time * 10.0) / 10.0;                  runonuithread(new runnable() {                     public void run() {                         timer.settext("seconds remaining: " + time);                     }                 });              }              if (time <= 0) {                 this.cancel();                 if (playerscore >= 10) {                     setcontentview(r.layout.win);                     runonuithread(new runnable() {                         public void run() {                             finalscore.settext("your final score "                                     + playerscore);                         }                     });                     try {                         thread.sleep(1000);                     } catch (interruptedexception e) {                         e.printstacktrace();                     }                 }                 if (playerscore < 10) {                     setcontentview(r.layout.lose);                     runonuithread(new runnable() {                         public void run() {                             finalscore2.settext("your final score "                                     + playerscore);                         }                     });                     try {                         thread.sleep(1000);                     } catch (interruptedexception e) {                         e.printstacktrace();                     }                 }                 finish();             }          }      },      // time before start of timer             0,              // time before runs again             100);  }  public void randomnumber() {      r = new random();     random = r.nextint(10);      runonuithread(new runnable() {         public void run() {             showingnumber.settext(string.valueof(random));         }     });  }  } 

here xml:

<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >  <textview     android:id="@+id/game_timer"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:gravity="center"     android:text="seconds remaining: 0.0"     android:textappearance="?android:attr/textappearancelarge" />  <textview android:id="@+id/game_score" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignparentbottom="true" android:layout_alignparentleft="true" android:gravity="center" android:text="your score 0" android:textappearance="?android:attr/textappearancelarge" />  <button     android:id="@+id/b1.4"     android:layout_width="80dp"     android:layout_height="50dp"     android:layout_alignleft="@+id/b1.1"     android:layout_aligntop="@+id/b1.1"     android:layout_margintop="73dp"     android:text="4" />  <textview     android:id="@+id/game_number"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_below="@+id/game_timer"     android:layout_centerhorizontal="true"     android:layout_margintop="89dp"     android:gravity="center"     android:text="0"     android:textappearance="?android:attr/textappearancemedium" />  <button     android:id="@+id/b1.1"     android:layout_width="80dp"     android:layout_height="50dp"     android:layout_alignparentleft="true"     android:layout_below="@+id/game_number"     android:layout_marginleft="14dp"     android:layout_margintop="130dp"     android:text="1" />  <button     android:id="@+id/b1.7"     android:layout_width="80dp"     android:layout_height="50dp"     android:layout_above="@+id/game_score"     android:layout_alignleft="@+id/b1.4"     android:layout_marginbottom="15dp"     android:text="7" />  <button     android:id="@+id/b1.2"     android:layout_width="80dp"     android:layout_height="50dp"     android:layout_alignbaseline="@+id/b1.1"     android:layout_alignbottom="@+id/b1.1"     android:layout_centerhorizontal="true"     android:text="2" />  <button     android:id="@+id/b1.5"     android:layout_width="80dp"     android:layout_height="50dp"     android:layout_alignbaseline="@+id/b1.4"     android:layout_alignbottom="@+id/b1.4"     android:layout_centerhorizontal="true"     android:text="5" />  <button     android:id="@+id/b1.8"     android:layout_width="80dp"     android:layout_height="50dp"     android:layout_alignbaseline="@+id/b1.7"     android:layout_alignbottom="@+id/b1.7"     android:layout_centerhorizontal="true"     android:text="8" />  <button     android:id="@+id/b1.0"     android:layout_width="80dp"     android:layout_height="50dp"     android:layout_above="@+id/b1.2"     android:layout_alignleft="@+id/b1.2"     android:layout_marginbottom="18dp"     android:text="0" />  <button     android:id="@+id/b1.6"     android:layout_width="80dp"     android:layout_height="50dp"     android:layout_alignbaseline="@+id/b1.4"     android:layout_alignbottom="@+id/b1.4"     android:layout_alignparentright="true"     android:layout_marginright="20dp"     android:text="6" />  <button     android:id="@+id/b1.9"     android:layout_width="80dp"     android:layout_height="50dp"     android:layout_alignbaseline="@+id/b1.7"     android:layout_alignbottom="@+id/b1.7"     android:layout_alignleft="@+id/b1.6"     android:text="9" />  <button     android:id="@+id/b1.3"     android:layout_width="80dp"     android:layout_height="50dp"     android:layout_alignbaseline="@+id/b1.1"     android:layout_alignbottom="@+id/b1.1"     android:layout_alignleft="@+id/b1.6"     android:text="3" />  </relativelayout> 

you have wrong if usage. after correct choosing of button, generating next number , once again checking if random!=that_button_number. happens every time, decreasing score.

     if (random == 3) {randomnumber()}else{} 

not

if(random==3){       randomnumber();   };      if(random!=3){}; 

you cannot call setcontentview on runtime of appliaction. runtimeexception. can:

  • hide 1 layout, show new setvisibility
  • use frame layout
  • many other things such fragment transaction or appending new views

Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -