2011-04-09 4 views
0

3 초간 내가 안드로이드 이벤트 핸들러에 대한 몇 가지 예리한 실험을 만들려고 할 때 호출 할 수 setOnItemClickListener .. 나는 5 항목이 포함 된 목록을 가지고있다. 그런 다음 해당 항목을 3 초 동안 클릭 가능한 상태로 유지하려고합니다 (클릭 할 수없는 것보다 작음).는</p> <p>하자 말 ... 안드로이드

이 가능합니까? 그것의

이 내 목록에 대한 몇 가지 코드

...

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 초를 초과하면 원하는 이벤트를 실행하십시오.

안드로이드도 longClicks/longPress이 내장되어 있으며, 누르기의 정확한 지속 시간을 제어하지는 않지만 구현하기가 쉽습니다. longPress의 장점은 OS 전체에서 사용되므로 사용자가 매우 익숙하다는 것입니다.

0

나는 MOTION_UP이 같은 타이머를 취소 할 수 있습니다 동안 MotionEvent ACTION_DOWN

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

나중에 3 초를위한 타이머를 발생시키는 TouchEventListener하여 설정 한 것이다.

관련 문제