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

FragmentActivity안 리스트뷰의 클릭 이벤트

0 추천
<span style="font-size:11px;">@Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // 재활용할 뷰가 convertView에 들어온다.
             
            <span style="color:#ff0000;">ImageView iv = (ImageView) findViewById(R.drawable.drawer_profile);
            iv.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    Intent intent = new Intent(mContext, Profile.class);
                    startActivity(intent);
                }
            });</span>
             
            View v;
            ViewHolder holder;
            // 초기상태(만약 재활용할 뷰가 없다면)
            if (convertView == null) {
 
                // 1. View Instance를 생성
                LayoutInflater inflater = LayoutInflater.from(mContext);
                v = inflater.inflate(R.layout.pane_list_item, null);
 
                // 최적화 작업
                // 한번 찾을 결과를 닫시 불러온다
                // findViewById는 모두를 비교하여 찾아야 하지만
                // ViewHolder를 만들어 사용하면 저장된 값을 불러오기 때문에 속도가빠르다.
 
                holder = new ViewHolder();
                holder.imageView = (ImageView) v.findViewById(R.id.paneImage);
                v.setTag(holder);
 
            }
            // 뷰를 재활용 한다면
            else {
                v = convertView;
                holder = (ViewHolder) v.getTag();
            }
 
            // 2. View에 Data 설정
 
            if (mBusy == true) {
                holder.loaded = false;
            } else {
                // 몇번째 데이터를 가져와하는 지를 파악한다.
                holder.loaded = true;
                // 데이터값 집어 넣기
                MyData data = (MyData) getItem(position);
                // 만들어진 뷰를 넘긴다.
                holder.imageView.setImageResource(data.imageResource);
            }
            return v;
        }</span>

FragmentActivity 내의 listview 안에 있는 이미지뷰 항목을 클릭해서 다른 액티비티로 이동하려고 하는데 잘 안되네요..ㅠㅠ

이유를 모르겠어요, 문법 오류는 없습니다.

혹시 아시는 분 있으시면 도움 주시면 정말 감사하겠습니다...꾸벅

사자87 (240 포인트) 님이 2014년 1월 3일 질문

1개의 답변

+1 추천
 
채택된 답변
맨위에 있는 클릭이벤트는 지우시고

holder.imageView.setOnClickListener로 넣으셔서 그 안에 맨위에 넣었던 내용을 구현하시기 바랍니다.
Gradler (109,780 포인트) 님이 2014년 1월 3일 답변
사자87님이 2014년 1월 3일 채택됨
holder.imageView.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Intent intent = new Intent(mContext, Profile.class);
        startActivity(intent);
    }
});

이렇게 말인가요??ㅠㅠ 제가 왕초보라서...
이렇게 하면 holder에 빨간줄 생기면서 변수 생성 등등 의 방법들이 뜨는데요, 어떻게 하면 될지 조금만 더 도와주시면 정말 감사하겠습니다.!
Ctrl+Shift + O(알파벳) 눌러서 import 제대로 되었는지 확인해보시고
그래도 잘 안되면 수정된 소스를 다시 올려보시기 바랍니다.
와 holder가 아래쪽에 선언되어서 안되었던거였어요!!
정말 감사합니다.
새해 복 많이 받으세요!!
...