setOnTouchListener和setOnItemLongClickListener互斥?

时间:2014-02-03 15:13:04

标签: java android

在下面的代码中,onItemLongClick仅在我注释掉onTouchListener时才有效。我需要能够注册滑动以及长按。我做错了什么?

public class MainPageActivity extends ListActivity {
  @Override  
  public void onCreate(Bundle savedInstanceState) {  
    ...

    getListView().setLongClickable(true);
    getListView().setOnItemLongClickListener(new OnItemLongClickListener() {

        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(getApplicationContext(), "long click", Toast.LENGTH_SHORT).show();
            return true;
        }
    });

    getListView().setOnTouchListener(new OnSwipeTouchListener() {
        public void onSwipeBottom() {
            Toast.makeText(MainPageActivity.this, "bottom", Toast.LENGTH_SHORT).show();
        }
    });
  }
}

1 个答案:

答案 0 :(得分:0)

如果要覆盖onTouch,onDown或其他类似的方法,在OnTouchListenerSimpleGestureListener等中,您需要确保返回false,以便事件发生正确传播。