해외축구 앱을 만들 때도 그렇고
1TO50게임 앱을 만들 때도 Gridview를 사용하면서
계속 onItemClick이벤트을 구현하고자 노력했으나
사실 몇일째 그 문제가 해결되지 않았다.
그래서 해외축구앱에서는
button에 click이벤트로 이것을 해결했으나
이번에는 이 문제를 해결해보고자
붙잡고 늘어져봤다.
한주내내 이렇게 저렇게 해본 결과 알게 되었다.
gridview에 각 sel에는 click이벤트가 있는 위젯을 사용하면 안되는 거였다.
ImageButton위젯이 아니라
ImageView위젯을 사용해야하는 거였다.
이전소스
ImageButton btn1 = (ImageButton) view.findViewById(R.id.imgbtn1); btn1.setBackgroundColor(Color.WHITE); btn1.setLayoutParams(new GridView.LayoutParams(ImageOneActivity.mwidth, ImageOneActivity.mwidth)); btn1.setImageResource((R.drawable.btn01 +position)); if(btn1 != null){ System.out.println("position:["+ position+ "],btn1:["+btn1 +"]"); btn1.setOnClickListener(clickListener); }
제대로 구동되는 소스
ImageView btn1 = (ImageView) view.findViewById(R.id.imgbtn1); btn1.setBackgroundColor(Color.WHITE); btn1.setLayoutParams(new GridView.LayoutParams(ImageOneActivity.mwidth, ImageOneActivity.mwidth)); btn1.setImageResource((R.drawable.btn01 +position)); gridview.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { Toast.makeText(getApplicationContext(),""+position, Toast.LENGTH_SHORT).show(); } });
이런 문제는 나만 몰랐던 걸까?
왠만한 검색으로 나오지 않아 한참 고생했다.
역시 좌충우돌이다.
전체 소스
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[안드로이드]액션바에 search view 추가하기 -전체소스포함- (0) | 2013.04.10 |
---|---|
[안드로이드] 액션 항목(action item) - 버튼 추가 소스포함- (0) | 2013.04.09 |
[안드로이드]액션바에 대하여.. (1) | 2013.04.09 |
서울시 공공API사용방법 (0) | 2013.04.03 |
[안드로이드앱] 서울시공영주차장주차대수조회앱(소스포함) (0) | 2013.03.20 |