2013-01-25 3 views
1

내 활동에 2 개의 조각이 있습니다. 왼쪽의 조각 1은 ListView를 포함하고 listView1을 호출하고 오른쪽의 조각 2는 GridView를 포함합니다. listView1의 항목을 선택할 때마다 (사용자가 D-pad를 사용하여 탐색 할 때마다) 원격 서버에 데이터를 보내도록 onItemSelectedListener를 구현했습니다. 리스너는 다음과 같습니다 : I리스트 뷰에서 주위를 탐색 할 때이전 선택한 항목으로 돌아갈 때 ListView onItemSelected가 실행되지 않습니다.

listView1.setOnItemSelectedListener(new OnItemSelectedListener(){ 
    public void onItemSelected(AdapterView<?> parent, View view, 
              int position, long id){ 
     //send data to sever here 
     sendData(); 
    } 
}); 

그것은 괜찮습니다. onItemSelected()가 정상적으로 호출 된 내부의 sendData() 메소드. 하지만 문제는 내가 GridView로 이동 한 다음 listView1에서 이전에 선택한 항목으로 돌아갈 때마다 문제가 발생합니다. onItemSelected 및 sendData() 메소드가 더 이상 실행되지 않았습니다. 검색을 수행하여 android reference에서 새로 선택한 위치가 이전에 선택한 위치와 다른 경우에만 onItemSelected 메서드가 호출된다는 것을 알았습니다.

어떻게 이전에 선택한 항목으로 돌아가도 onItemSelected가 꺼지게 할 수 있습니까?

진보에 감사드립니다!

답변

0

대신 사용 onListItemClick :

@Override 
public void onListItemClick(ListView parent, View view, int position, long id) { 
    sendData(); 
} 
+0

감사 마르신 S. 그러나 그들이 탐색 D-패드를 사용하기 때문에 수도가 자신의 경험을 감소 조치를 "Enter 키를 누릅니다"수행하는 사용자가 필요합니다. – vqtr