마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리스트뷰 아이템 클릭시 좀 도와주세요 ㅠ

0 추천
ListView listView = (ListView) findViewById(R.id.listView);
		listView.setOnItemClickListener(new OnItemClickListener() {
        	public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
        		Button button = (Button) findViewById(R.id.button1);
        		button.setVisibility(View.VISIBLE);
        	}
        });

버튼은 xml상에서 visibility="gone" 시켜둔 상태에요

리스트뷰 아이템을 클릭하면 그 아이템에 있는 버튼이 보여져야 되는데

엉뚱한데서 버튼이 보여지고 어떨땐 안먹히고 막 중구난방이네요 ㅠㅜ

도와주세요 ㅠㅠ

Android초보개발자 (1,230 포인트) 님이 2015년 4월 24일 질문

2개의 답변

0 추천

코드 내부에서 view.findViewById(R.id.button1);으로 작성하면 View 내부의 button1이란 아이디를 가진 Button 객체를 얻을수 있을거 같습니다.

오류의 문제는 선택된 뷰에서 Button 객체를  가져와야하는데 아이디로만 객체를 가져오기 때문에 혼선이 생기는 거라 생각합니다.

EX)

public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {

   Button button = (Button) view.findViewById(R.id.button1);

   나머지 그대로

}

꾸준히 노력하기 (260 포인트) 님이 2015년 4월 27일 답변
–1 추천
리스트뷰 쓰는 법이 틀렸어요. 저기가 아니라 리스트뷰애 들어가는 어댑터의 getview에서 해야해요. 샘플 찾아서 찬찬히 살펴보세요
쎄미 (162,410 포인트) 님이 2015년 4월 25일 답변
심플커서어뎁터인가 사용하는데 아이템 클릭에서 저거말고 토스트나 다른걸 테스트하면 잘되요
커서어뎁터를 바꿔야되는걸까요?
...