0

当我在 Google TV 上长按时,这两种方法都会被调用,但只有在平板电脑上使用相同的代码调用适当的方法。有什么想法如何在不触发 GoogleTV 上的 onListItemClick 的情况下处理 onItemLongClick?

@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;
    }
4

1 回答 1

3

将 onItemLongClick 的返回值设置为 true,以便它消耗整个操作。奇迹般有效!

于 2011-12-06T21:06:16.233 回答