책을보며 해보고 있지만 생각되로 되지가않아 질문을 올립니다.
listview에서 item1~item10까지가 세로로 정렬이 되어있습니다.
여기서 각 item들을 터치했을때 각각 몇번 눌렸다라는 것을 알고 싶은데요..혹시 이러한 예제 소스가 있나요?
책과 인터넷을 보며 코딩중에 있는데요.. 도저히 막혀서 질문드립니다.
답변 감사합니다.
그런데 글로는 감은 잡히는데 코드로는 어떻게 누적을 시켜야할지가 예매하네요..
현재
lv.setOnItemClickListener( new OnItemClickListener(){
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
ResolveInfo temp = pkgAppsList.get(arg2);
Intent i = new Intent();
i.setClassName(temp.activityInfo.packageName, temp.activityInfo.name );
startActivity(i);
}
});
위와같이 list에 어플리케이션 목록들을 받아옵니다. 약간의 힌트를 더 주실순 없나요?..ㅜ
각 아이템의 클릭 횟수를 저장하고 싶으신거면
onItemClick 메소드에서가 아닌 바깥에서 클릭횟수를 저장할 변수를 선언해서 초기화를 해주세요.
예시) ArrayList<Integer>에 넣을경우 10개의 0을 미리 add해놓은후에
onItemClick메소드에서 클릭된 position값에 해당하는 integer값을 꺼내서 ++해주고 이전값은 지운후 그자리에 다시 set을 해줍니다.
후에 ArrayList<Integer>의 값을 꺼내보면 각 아이템당 클릭횟수를 알수있습니다.
아이템의 갯수가 가변적이라고 하더라도 어댑터에 연결하는 List의 갯수만큼 초기 값을 add해 놓으면 됩니다.
예시2) HashMap의 경우 앞의 Integer의 값은 position값, 뒤의 Integer의 값은 클릭된 횟수 값으로 하여 값을 저장하시면됩니다.
예시3) 단순히 배열을 아이템의 갯수만큼 생성해서 각 칸에 클릭값을 넣어서 조회해도 됩니다.
int[] a = new int[]{0,0,0,0,0,0,0,0,0,0}; 형태로 배열을 초기화후에
a[position]++; 형태로 값을 늘리면 됩니다.



