Android ListView에서 Touch에 대한 이벤트를 개별 항목에 적용하려면 어떻게 해야하나요?
조회수 1209회
ListView의 OnTouch에 대해서인데요 ListView의 항목이 10개가 있다고 했을 때, 그중 1번째 Position으로는 0번의 항목에만 이 터치 down,up 이벤트를 적용 시키려면 어떻게 해야하나요?
현재는 아래와 같습니다.
_IA_List.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position)
{
case 0 :
OFF_Event();
break;
case 1 :
break;
case 2 :
break;
case 3 :
break;
case 4 :
break;
case 5 :
break;
case 6 :
break;
case 7 :
break;
case 8 :
break;
case 9 :
break;
}
}
});
public static void OFF_Event()
{
_IA_List.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN :
Toast.makeText(RadarMainActivity.instance, "+++++++++++++++a", Toast.LENGTH_SHORT).show();
break;
case MotionEvent.ACTION_UP :
Toast.makeText(RadarMainActivity.instance, "+++++++++++++++b", Toast.LENGTH_SHORT).show();
break;
}
return false;
}
});
}
현재 이렇게 해두었는데, 나머지 ListView의 항목들도 같은 이벤트를 불러옵니다.
최종적으로 하려는 것은
1번째 ListView의 항목에 꾹 누르고 있을 때의 이벤트를 넣고 싶은 겁니다. 다른 애들은 건들지 않고 1번 항목에만 꾹 누르고 있는 동안 어떠한 이벤트를 가져오고 손을 땟을 때는 그 이벤트가 중단되도록 하고 싶습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
파라미터로 넘어온 view에 이벤트리스너를 등록해주면될것같네요 OFF_Event에 해당 View를 파라미터로 넘겨주고
OFF_Event(View view);
view.setOnTouchListener{} 요래 해보세요. 이렇게하면 리스트뷰 여러 아이템중 해당 VIew에만 리스너를 등록할 것 같네요
_IA_List.setOnTouchListener 이렇게하면 리스너 전체에 Touch리스너를 등록하는 꼴이됩니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력