Hi! I am programming a game. I have some layouts:
the Layout screenmain has these ImageButtons: private ImageButton buttonstart; private ImageButton buttonoptions; private ImageButton buttonhighscore; private ImageButton buttoninfo; which will open the layouts. all these layouts have just an ImageButton "buttonback". I can click through all my menus but sometimes (to me, it seems like random), my program crashes when I click a button and I get an AndroidRuntimeException. What can be the error? Here is the error-message: Leonard Frog [Android Application] DalvikVM[localhost:8614] Thread [<3> main] (Suspended (exception AndroidRuntimeException)) MessageQueue.enqueueMessage(Message, long) line: 173 LeonardFrog$1(Handler).sendMessageAtTime(Message, long) line: 457 LeonardFrog$1(Handler).sendMessageDelayed(Message, long) line: 430 LeonardFrog$1(Handler).sendMessage(Message) line: 367 LeonardFrog$4.onClick(View) line: 119 ImageButton(View).performClick() line: 2179 ImageButton(View).onTouchEvent(MotionEvent) line: 3828 ImageButton(View).dispatchTouchEvent(MotionEvent) line: 3368 AbsoluteLayout(ViewGroup).dispatchTouchEvent(MotionEvent) line: 863 FrameLayout(ViewGroup).dispatchTouchEvent(MotionEvent) line: 863 FrameLayout(ViewGroup).dispatchTouchEvent(MotionEvent) line: 863 PhoneWindow$DecorView(ViewGroup).dispatchTouchEvent(MotionEvent) line: 863 PhoneWindow$DecorView.superDispatchTouchEvent(MotionEvent) line: 1707 PhoneWindow.superDispatchTouchEvent(MotionEvent) line: 1197 LeonardFrog(Activity).dispatchTouchEvent(MotionEvent) line: 1993 PhoneWindow$DecorView.dispatchTouchEvent(MotionEvent) line: 1691 ViewRoot.handleMessage(Message) line: 1525 ViewRoot(Handler).dispatchMessage(Message) line: 99 Looper.loop() line: 123 ActivityThread.main(String[]) line: 3948 Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method] Method.invoke(Object, Object...) line: 521 ZygoteInit$MethodAndArgsCaller.run() line: 782 ZygoteInit.main(String[]) line: 540 NativeStart.main(String[]) line: not available [native method] Thread [<13> Binder Thread #2] (Running) Thread [<11> Binder Thread #1] (Running) and here is my main class: package digle.de.LeonardFrog; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.DisplayMetrics; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.View.OnClickListener; import android.widget.ImageButton; public class LeonardFrog extends Activity { private ImageButton buttonstart; private ImageButton buttonoptions; private ImageButton buttonhighscore; private ImageButton buttoninfo; private ImageButton buttonback; private Game game; Message msg; int handler_lastarg=-1; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (handler_lastarg!=msg.arg1) //I put this line here to be sure that the error doesn't come becaues I doubleclick on a button without knowing and two handlers maybe would interfere? But the error comes anyway. { switch (msg.arg1) { case 1: game.start(); setContentView(game.getPanel()); break; case 2: screenoptions(); break; case 3: screenhighscore(); break; case 4: screeninfo(); break; case 5: screenmain(); break; } handler_lastarg=msg.arg1; } } }; @Override public void onCreate(Bundle savedInstanceState) { // if ((new Date()).before(new Date(2010,1,10))) System.exit(0); game = new Game(this); msg = new Message(); //Displaygrösse herausfinden DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); Global.screen_width = dm.widthPixels; Global.screen_height = dm.heightPixels; Global.screen_width_factor = 320/Global.screen_width; Global.screen_height_factor = 480/dm.heightPixels; super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN ); // //Sound starten MediaPlayer mp = MediaPlayer.create(this, R.raw.leonardkleiner96); mp.setLooping(true); mp.start(); screenmain(); } private void screenmain() { setContentView(R.layout.screenmain); buttonstart = (ImageButton) findViewById(R.id.buttonstart); buttonoptions = (ImageButton) findViewById(R.id.buttonoptions); buttonhighscore = (ImageButton) findViewById(R.id.buttonhighscore); buttoninfo = (ImageButton) findViewById(R.id.buttoninfo); buttonstart.setOnClickListener(new OnClickListener() { public void onClick(View v) { msg.arg1 = 1; handler.sendMessage(msg); } }); buttonoptions.setOnClickListener(new OnClickListener() { public void onClick(View v) { msg.arg1 = 2; handler.sendMessage(msg); } }); buttonhighscore.setOnClickListener(new OnClickListener() { public void onClick(View v) { msg.arg1 = 3; handler.sendMessage(msg); } }); buttoninfo.setOnClickListener(new OnClickListener() { public void onClick(View v) { msg.arg1 = 4; handler.sendMessage(msg); } }); } private void screenoptions() { setContentView(R.layout.screenoptions); buttonback = (ImageButton) findViewById(R.id.buttonback); buttonback.setOnClickListener(new OnClickListener() { public void onClick(View v) { msg.arg1 = 5; handler.sendMessage(msg); } }); //Game-Sound //Game-Music } private void screenhighscore() { setContentView(R.layout.screenhighscore); buttonback = (ImageButton) findViewById(R.id.buttonback); buttonback.setOnClickListener(new OnClickListener() { public void onClick(View v) { msg.arg1 = 5; handler.sendMessage(msg); } }); } private void screeninfo() { setContentView(R.layout.screeninfo); buttonback = (ImageButton) findViewById(R.id.buttonback); buttonback.setOnClickListener(new OnClickListener() { public void onClick(View v) { msg.arg1 = 5; handler.sendMessage(msg); } }); } @Override public void onStop() { System.exit(0); } }
-- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en