1

내가 목록보기 항목을 클릭하면 onitemclick listener가 호출되지만, 항목을 길게 누르면 initemclick과 onitemlongclick listener가 호출됩니다. 오랫동안 누를 때만 onitemlongclick 리스너에게 전화를 풀 수있는 방법은 무엇입니까?안드로이드 ListView onitemclick listener

 list.setOnItemClickListener(new OnItemClickListener() 
      { 

      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
        long arg3) { 
       //my code 

      } 


      }); 
     list.setOnItemLongClickListener(new OnItemLongClickListener() { 

      public boolean onItemLongClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) { 
//my code 
    } 
    } 

답변

2

onItemLongClick()에는 부울 반환 값이 있습니다. onItemClick을 호출하지 않으려면 onItemLongClick()을 true로 설정하십시오.

list.setOnItemLongClickListener(new OnItemLongClickListener() { 

     public boolean onItemLongClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) { 
      //.... 

      // Above are your code. 
      // Return true for this method as below. 
      return true; 
     } 
    } 
+0

일부 코드는 다음과 같이 설명됩니다. – appukrb

+0

답변을 업데이트했습니다. 답변 코드를 참조하십시오. – TieDad

+0

친구에게 잘 작동 해 주셔서 감사합니다 – appukrb

0

그런 경우에는 목록 대신 목록의 개별보기에 onClickListener()를 사용하는 것이 좋습니다. 또한 뷰의 onItemLongClickListener()에 대해서도 마찬가지입니다.

0

이 같은 수익을 사용해보십시오 ...

list.setOnItemClickListener (새 OnItemClickListener() 당신은 그냥 이벤트를 제공하지 않아야 시스템에게 false를 반환 할 필요가 {

 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 



     } 


     }); 
    list.setOnItemLongClickListener(new OnItemLongClickListener() { 

     public boolean onItemLongClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) { 
    return true; 
} 
} 
+0

어디에서 신고할까요? – appukrb

0

list.setOnItemLongClickListener(new OnItemLongClickListener() { 

     public boolean onItemLongClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) { 
       //Do something 
       return false; 
     }