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. Andriod with XML-RPC weirdness

I have some well-debugged XML-RPC interfaces on a site that work
wonderfully from both PHP and from JAVA. Using Eclipse I am able to
write Java apps using either the Redstone or Apache XML-RPC libraries
quite simply. These test cases using the 2 libraries utilize
JavaSE-1.6 (jre6) libraries as well as one of the 2 xml-rpc libs
referenced above. No problems.

My problem is making this work on Android. I have added ADT to my
Eclipse setup and easily executed the HelloWorld test using a virtual
1.6 or 2.1 Android device - no problems.

Whenever I go into the Build Path in Eclipse and add the external jars
for either the apache or redstone XML-RPC libs my console goes wacky
with a ton of the following:

Ignoring InnerClasses attribute for an anonymous inner class that
doesn't come with an associated EnclosingMethod attribute. (This class
was probably produced by a broken compiler.)

If I puch ahead and debug the code when it actually ships off the XML
request I get an exception out of the XML library on permissions of
some sort.

Why does this only happen in an "Android" project. These libraries
seem to have no problem running in Non-Android standard java configs.

Thanks in advance to anyone who can shed some light on this. Once we
proof the ability to talk to our server we can proceed down the road
of actually porting our app to Android.

-- 

2. Siang ini Gathering Komunitas Android, kolaborasi ISAT-Android & ID-Android, Minggu 7 Maret 201

Hadir :D











> 

3. Help! Milestone saya tidak bereaksi ketika dicolok ke PC

4. Digest for android-developers@googlegroups.com - 25 Me

5. fahru razi wants to share their location with you on Google Latitude

6. Isatdroid

7. Any api to check if recording is going on?