목록보기의 사용자 지정 어댑터에서 선택한 항목의 값을 가져 오려고합니다. 내가 클릭하면 값이 좋은, 처음에는OnItemClick Listview에서 항목 값 가져 오기
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
View curr = parent.getChildAt((int) id);
TextView c = (TextView)curr.findViewById(R.id.tvPopUpItem);
String playerChanged = c.getText().toString();
Toast.makeText(Settings.this,playerChanged, Toast.LENGTH_SHORT).show();
}
,하지만 난 스크롤과 내가 다른 항목을 클릭하면, 그 클릭 된 항목의 잘못된 값을 얻을 ... : 나는 다음 코드로 이것을 시도 어떤 생각이 원인이 무엇입니까?
감사합니다. getChildAt 위치가 작동하지 않는 이유를 알고 있습니까? 나는 또한 이것을 시도했다. 그러나 이것 역시 나에게 오류를 주었다. –
어댑터에 따라'id'는 전혀 다른 인덱스를 참조 할 수있다. 예를 들어, CursorAdapters는 테이블의 기본 키를 'id'로 반환합니다. 반면에 'position'은 항상 행 수를 참조해야합니다. – Sam
@Sam 감사합니다.이 작품은 저에게 효과적입니다. –