2011-12-06 54 views
0

當我長時間點擊Google TV時,這兩種方法都會被調用,但只有在平板電腦上使用相同的代碼才能調用相應的方法。任何想法如何處理onItemLongClick而不觸發GoogleTV上的onListItemClick?onListItemClick和onItemLongClick Google TV

@Override 
    public void onListItemClick(ListView l, View v, int position, long id) { 
     Log.i(DEBUG_TAG, "onListItemClick"); 
     WeatherData.getSingleton(getActivity().getApplication()).setCurrentLocationCode(WeatherData.getSingleton(getActivity().getApplication()).getLocCodes().get(position)); 
     getListView().setItemChecked(position, true); 
    } 

    public boolean onItemLongClick(AdapterView<?> l, View v, int pos, long id) { 
     Log.i(DEBUG_TAG, "onItemLongClick"); 
     if (WeatherData.getSingleton(getActivity().getApplication()).getLocCodes().size() > 1) 
      showDeleteAlertDialog(pos); 
     return false; 
    } 

回答

3

將onItemLongClick的返回值設置爲true,以便它消耗整個操作。奇蹟般有效!