1
如何檢測長按ListField組件?Blackberry:檢測長按ListField並顯示菜單
你重寫其navigationClick(INT狀態,詮釋時間)和其時間參數摸索(如何?),或者是有長期檢測點擊一些內置的方法?
更重要的是 - 一旦您檢測到這種點擊,您如何顯示菜單(屏幕中間的那個)?
背景是,我想讓用戶編輯選定的項目。並且在長時間點擊時,我想在屏幕中間顯示一個菜單來提供輔助任務:刪除項目,更改項目顯示順序等。
以下是我當前的測試代碼 - 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);
}
}
謝謝 亞歷
謝謝,我如何顯示中間的上下文菜單? – 2011-05-06 13:06:40
試試這個:http://www.blackberry.com/developers/docs/4.7.0api/net/rim/device/api/ui/component/Menu.html#show() – Mugur 2011-05-06 13:51:38
謝謝你指點我進入正確的方向。儘管我已經結束了使用TouchGesture.HOVER。我還沒有想出如何在屏幕中心顯示菜單 - 當我運行菜單(0)時,它出現在右上角.... – 2011-05-08 16:34:08