Problems with onKeyDown after resume

by Brian Durney » Wed, 17 Dec 2008 02:34:43 GMT


Sponsored Links
 Hello,
I have written a simple application that draws an image (Drawable) on
the screen.  When the user presses a key, the image is supposed to
move.  When I first start the application from Eclipse, the keys work
fine.  However, if I go to another screen in the emulator and then go
back to my application (with a long press of the Home button) then the
keys don't work any more.  The same problem occurs if I go to the
applications menu and click on the icon for my application--the key
events don't work.

I have included the code for my view below.  The only other file in
the application is an Activity that has a very simple onCreate method
to create an instance of this view and call setContentView().
Thanks,
Brian Durney

public class DrawView extends View {
        Bitmap img;
        Drawable botDraw;
        float x = 35, y = 100;

        public DrawView(Context context) {
                super(context);
        setFocusable(true);  // MIGHT BE NECESSARY FOR KEY EVENTS

        BitmapFactory.Options opts = new BitmapFactory.Options();
        opts.inJustDecodeBounds = true;
        img = BitmapFactory.decodeResource(context.getResources(),
R.drawable.bot2);
        botDraw =  context.getResources().getDrawable
(R.drawable.bot1);
        }

        public boolean onKeyDown(int keyCode, KeyEvent msg) {
                switch (keyCode) {
                case KeyEvent.KEYCODE_W:
                        y -= 5;
                        invalidate();
                        return true;
                case KeyEvent.KEYCODE_S:
                        y += 5;
                        invalidate();
                        return true;
                default:
                        return super.onKeyDown(keyCode, msg);
                }
    }

        public void onDraw(Canvas canvas) {
                canvas.drawColor(0xFFC0C090);
                Paint paint = new Paint();
                paint.setColor(Color.GREEN);
                paint.setAntiAlias(true);
                canvas.drawCircle(35.0f, 50.0f, 20.0f, paint);
                canvas.drawBitmap(img, x, y, null);
                canvas.save();
                canvas.rotate(45, 180, 80);  // ANGLE IN DEGREES, PIVOT X, 
PIVOT Y
                botDraw.setBounds(150, 50, 210, 110);
                botDraw.draw(canvas);
                canvas.restore();
        }
}



--~--~---------~--~----~------------~-------~--~----~



Other Threads

1. Sha Sanyo Zio

Ditunggu ripiuwnya kang upi
On Feb 22, 2011 6:57 PM, "Lutfi Hidayat Ramdhani" <



-- 
===============

2. Trouble with bluetooth pairing my Samsung Galaxy Tablet with my PC

I am attempting to pair my Galaxy Tab with my Toshiba win 7 x64
laptop. The pairing fails because the laptop needs a PIN. I never set
a PIN, nor to my knowledge was I  provided with one when I got the
device from Verizon. Also, the dialog that appears doesn't provide any
place to enter one.

Anybody succeed in connecting their Galaxy Tab to their PC? How do I
discover and set this mysterious bluetooth PIN?

-- 

3. Ada yang Jual Samsung Nexus S....?

4. Handling orientation changes with an Alarm

5. Upgrade O1

6. desire Z

7. Tanya soal froyo di journey