The needs
From a list of phone numbers,
I want to make a dialog list to display 2 choices like below
==================
Which phone number?
1. Mobile: 098989897828
2. Home: +812345676789
==================
2 items are formated with prefix numbers corresponding to shorcut 1 and 2.
When user press key
alt + w (number 1), item 1 is selected.
When user press key
alt + e (number 2), item 2 is selected.
But I want when user press only
w key, item 1 is selected too.
It means that he don't need to press both
alt + w
Similarly, if he press
e or
alt + e, item 2 is selected.
The problem
I have make an extend of Dialog, overwrite keyChar() function,
replace char with equivalent key, etc,
but it does not success when inputting w or e
But if I press key
1 (alt + w) or
2 (alt + e), it is OK.
Please see my code below and help me a solution.
Thanks in advance
Please notice that I make 2 cases with different calls but it still not success any more.
==========================
Extend dialog with overwrite keyChar()
==========================
PHP Code:
public class PhoneChoiceDialog extends Dialog {
protected int countPhoneNumber;
public PhoneChoiceDialog(String message, Objectxxx91;xxx93; choices, intxxx91;xxx93; values,
int defaultChoice, Bitmap bitmap,long style) {
super(message, choices, values, defaultChoice, bitmap, style);
// TODO Auto-generated constructor stub
}
protected boolean keyChar( char c, int status, int time ) {
switch( c ) {
case '1':
case '2':
return super.keyChar(c, status, time);
case 'w':
//Replace 'w' with '1'
return super.keyChar('1', status, time);
case 'e':
//Replace 'e' with '2'
super.keyChar('2', status, time);
return true;
}
return true;
}
}
==========================
extend dialog is called from here
==========================
PHP Code:
PhoneChoiceDialog choiceNumberDialog = new PhoneChoiceDialog("Which number?",contactInfo.phoneListWithChoiceNumber,null,1,Bitmap.getPredefinedBitmap(Bitmap.QUESTION),Dialog.LIST);
choiceNumberDialog.countPhoneNumber = contactInfo.phoneListCount;
int choiceNumber = choiceNumberDialog.doModal();