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. File Retriving

Hi fellas,

I am writing a email application so need a help on the following
problem:

How to retrieve a file from path "file:///data/data/<my-app>/files/
sam.txt"

so that i can mail this file using JavaMail API

here file attachment code is:

public void addAttachment(String filename) throws Exception {

            BodyPart messageBodyPart = new MimeBodyPart();
            DataSource source = new FileDataSource(filename);
            messageBodyPart.setDataHandler(new DataHandler(source));
            messageBodyPart.setFileName(filename);

            _multipart.addBodyPart(messageBodyPart);
 }

Note: I don't want the Inbuilt Email app of Android to do the above.


-- 

2. List of command

How do I create a text list, which if clicked create Dialog?

-- 

3. Disable button according to spinner item

4. Sessions in android

5. Could Tabhost bottom border linebe deleted?

6. Trackball clicking a custom preference

7. Need android developers for one of the leading telecommunication company in India