AlertDialog OnKeyListener - How to get Focused Item?

by coderiver » Mon, 22 Dec 2008 10:12:26 GMT


Sponsored Links
 I have an AlertDialog with an OnKeyListener.  I need to find the
focused item when the Call key is pressed.
This AlertDialog also has an OnClickListener that works great - I get
the position of the item from my view when it is clicked.
What I also want to do - is get the position of the currently
highlighted (focused right?) item when the CALL key is pressed.
I can detected the CALL key event in my handler - no problem.  But I
do not know how to get the item that had the focus when the key was
pressed.

Here is my OnKey handler and some of the things I have used to try and
get info

    public boolean handleKeyPress(DialogInterface dialog, int keyCode,
KeyEvent event) {

        Log.d("keyPress", "handleKeyPress :
this.getSelectedItemPosition(): " + this.getSelectedItemPosition());
        Log.d("keyPress", "handleKeyPress : this.getSelectedItemId():
" + this.getSelectedItemId());

        AlertDialog ad = (AlertDialog)dialog;
        View fv = this.getCurrentFocus();
        if( fv != null ) {
             Log.d("keyPress", "handleKeyPress  : fv.getId(): " +
fv.getId());
        }

        ListView lv = this.getListView();
        if( lv != null ) {
            View fvC = lv.getFocusedChild();
            if( fvC != null ) {
                Log.d("keyPress", "handleKeyPress : fvC.getId(): " +
fvC.getId());
            }
            int selectedPos = lv.getSelectedItemPosition();
            Log.d("keyPress", "handleKeyPress : selectedPos: " +
selectedPos);
        }

        return false;
    }



Thanks for your help!

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



AlertDialog OnKeyListener - How to get Focused Item?

by coderiver » Tue, 23 Dec 2008 09:28:41 GMT


 I am thinking I need to override the dialog and track the position of
the focused item myself.
That seems kind of risky in case they ever get out of synch.  Am I
missing something obvious?

Thanks!



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


Sponsored Links


AlertDialog OnKeyListener - How to get Focused Item?

by coderiver » Sat, 27 Dec 2008 21:31:37 GMT


 I figured this out so I thought I would share.  The handleKeyPress
method that is called from my OnKey handler is part of my Activity
object.  So "this" is an activity not a dialog.  So to get the focused
item is pretty simple, I needed to keep a reference to the AlertDialog
(mAlertDialog in the example):

public boolean handleKeyPress(DialogInterface dialog, int keyCode,
KeyEvent event) {

 ListView lv = mAlertDialog.getListView();
 if( lv != null ) {
     int selectedPos = lv.getSelectedItemPosition();
     Log.d("keyPress", "handleKeyPress : selectedPos: " +
selectedPos);
 }

You also have to test for the right key and only choose the down
button action, but this is the part I had trouble with.
--~--~---------~--~----~------------~-------~--~----~



Other Threads

1. List of platforms that android has been ported to

Hi,
       I'd just like to start a thread to list all the platforms that
android has been ported to, so please feel free to reply to this
thread and add to the list.

ARM7 core - TI OMAP 3503/3530 platform
x86

Has anyone done a port of android to a 16-bit microprocessor platform?
Possibly a Freescale or Samsung ARM core variant?

Elvis Dowson
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: 

2. Add menu item to Gallery's share BY CODE

Hi All,

I must to new a thread.

I know how to implement this issue by Menuifest.xml, see also:

3. BitmapFactory decodeByteArray RGB565 format

4. Android Hessian Library

5. How to modify table structure of the sqlite in code?

6. Getting virtual keyboard

7. Is there a way to control the Android phone or do a automated test using a remote PC?