Как вы обнаруживаете длинный щелчок по компоненту ListField?
Вы переопределяете его navigationClick (int status, int time) и возитесь с его time аргументом (как?) Или есть какой-то встроенный метод для обнаружения длинных кликов?
И что еще более важно - как вы отображаете меню (которое находится в середине экрана) после того, как вы обнаружили такой щелчок?
Фон в том, что при коротких щелчках я хотел бы позволить пользователю редактировать выбранный элемент. И при длинных щелчках я хотел бы отобразить меню в центре экрана, чтобы предложить дополнительные задачи: удалить элемент, изменить порядок отображения элемента и т. Д.
Ниже приведен мой текущий тестовый код - src \ mypackage \ MyList.java :
package mypackage;
import java.util.*;
import net.rim.device.api.collection.*;
import net.rim.device.api.collection.util.*;
import net.rim.device.api.system.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.ui.decor.*;
import net.rim.device.api.util.*;
public class MyList extends UiApplication {
public static void main(String args[]) {
MyList app = new MyList();
app.enterEventDispatcher();
}
public MyList() {
pushScreen(new MyScreen());
}
}
class MyScreen extends MainScreen {
ObjectListField myList = new ObjectListField() {
protected boolean navigationClick(int status, int time) {
System.err.println("XXX status=" + status + ", index=" + getSelectedIndex());
return true;
}
};
public MyScreen() {
setTitle("How to detect long click?");
myList.set(new String[] { "Item 1", "Item 2", "Item 3", "Item 4", });
add(myList);
}
}
Спасибо
Alex