2011-04-09 61 views
0

3秒我試圖做出關於Android事件處理一些熱衷實驗援引...setOnItemClickListener時得到保持在安卓

咱們說..,我有一個包含上5項的列表。然後我想讓這些項目變成Clickable WHILE將項目保持3秒(小於它將不可點擊)。

是可能的嗎?

這對我的列表中的一些代碼...

String[] projection = new String[] {Browser.BookmarkColumns._ID, 
          Browser.BookmarkColumns.TITLE, 
          Browser.BookmarkColumns.URL}; 
String[] displayFields = new String[] {Browser.BookmarkColumns.TITLE, 
          Browser.BookmarkColumns.URL}; 
int[] displayViews = new int[] { android.R.id.text1, 
          android.R.id.text2 }; 

Cursor cur = managedQuery(android.provider.Browser.BOOKMARKS_URI, 
       projection, null, null, null); 
setListAdapter(new SimpleCursorAdapter(this, 
       android.R.layout.simple_list_item_2, cur, 
       displayFields, displayViews)); 

OK這就是它!我希望這已經足夠清楚了...... 謝謝!

回答

0

你可以實現onTouch並啓動一個定時器ON_DOWN並檢查它是否過期ON_UP。如果計時器超過3秒鐘就會觸發你想要的任何事件。

Android也有longClicks/longPress內置,其中的工作很像這樣,減去控制按壓的確切時間,但超級容易實現。 longPress的好處是它可以在整個操作系統中使用,這意味着用戶對此非常熟悉。

0

我會通過後觸發3秒計時器與MotionEvent ACTION_DOWN

public boolean onTouch(View view, MotionEvent event) { 
    if (event.getAction() == android.view.MotionEvent.ACTION_DOWN) { 

而MOTION_UP可以取消同一個定時器一個TouchEventListener設置。