2017-05-07 9 views
0

항목에 대해 길게 터치하면 항목이 목록에서 제거되는 ListView가 있습니다.onTouch는 LongTouch 직후에 등록되었습니다.

장시간 터치가 계속되는 동안 바로 터치가 등록됩니다. 는 '팬텀'터치 긴 터치가 (새로운 항목이 목록에 이동)되었던 항목에 나타납니다 긴 터치 놓아 후

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 

       Intent intent = new Intent(getApplicationContext(), MapsActivity.class); 
       intent.putExtra("placeNumber", i); 
       intent.putExtra("Type", "Fav"); 

       startActivity(intent); 
      } 
     }); 

     listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
      @Override 
      public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { 
       Log.i("Removing", "" + favouriteLocations.get(position)); 
       favouriteLocations.remove(position); 
       Favourites.arrayAdapter.notifyDataSetChanged(); 
       return false; 
      } 

     }); 

와 - 여기

내 코드입니다 액티비티는 터치 된 것처럼로드됩니다.

한순간에 제대로 작동 했으므로 코드를 변경하지 않았을 것입니다. 어떤 아이디어?

감사합니다. 당신이 long click listner에서 return true 필요

+0

OnTouchListener를 각 항목이 아닌 전체 ListView로 설정하면이 것이 실제로 원하는 것입니까?. OnItemLongClickListener 내부의 데이터 변경 사항을 알리고 OnTouchListener를 제거하는 것이 더 쉬울 수도 있습니다. 건배! – miibpa

+0

나는이 모든 것을 처음 접했기 때문에 사물을 잘못하면 용서해 주지만 onTouchListener 만 있으면 터치가 멈출 때 감지 할 수 있습니다. 나는 이제 어떤 촉감이 잠시 지연 될 것임을 깨달았습니다. 맞습니까? 나는 그것을 지금 편집 할 것이다. – AndyCr15

답변

1

, 당신은 XML을 너무 android:longClickable="true"을이 있어야하지만 목록보기 때문에 기본 모든 XML을 업데이트 할 필요에 의해 긴 클릭합니다.

+0

굉장합니다. 감사 :-) – AndyCr15