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

getview안에서 메소드 호출못하나요???

0 추천
getview가 화면에 보일때 마다 호출을 해서

애니메이션부분을 따로 메소드로 만들고

포지션값만 받아서 호출했는데

동작을 안합니다.

메소드를 받긴하는거 같은데 화면에 안그려집니다ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

도와주십시요제발 몇일째 고민중입ㄴ다.
꿀떡 (2,700 포인트) 님이 2015년 12월 29일 질문

1개의 답변

0 추천
보통 getView에서 애니메이션을 시작하는 코드를 추가합니다. 별도의 스레드로 동작시킨다고 해도 애니메이션은 메인 스레드에서 동작해야 하니.. 구성하신 형태는 맞게 보입니다.

동작을 안 하는 부분은 다른 문제가 아닐까 합니다.. 코드를 첨부해 주시면 저나 다른 분께서 답변을 드릴 수도 있습니다.
mcsong (44,040 포인트) 님이 2015년 12월 30일 답변
public View getView(int position, View convertView, ViewGroup parent) {
            final ViewHolder holder;
            if (convertView == null) {
                holder = new ViewHolder();

                LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                convertView = inflater.inflate(R.layout.item_showit_adlist, null);
                holder.image = (ImageView) convertView.findViewById(R.id.iv_list_image);
                holder.title = (TextView) convertView.findViewById(R.id.tv_showit_title);
                holder.detail = (TextView) convertView.findViewById(R.id.tv_showit_detail);
                holder.address = (TextView) convertView.findViewById(R.id.tv_showit_address);
                holder.telephone = (TextView) convertView.findViewById(R.id.tv_showit_telephone);


                convertView.setTag(holder);

            } else {
                holder = (ViewHolder) convertView.getTag();
            }

            final ShowitData Showitdata = mShowitData.get(position);
            StringBuffer sb = new StringBuffer();
            sb.append(Showitdata.address);
            NumberFormat numformat = NumberFormat.getIntegerInstance();

            numformat.setMinimumIntegerDigits(6);


            Log.i("TEST", "sb : " + sb);
            Log.i("TEST", "!!!");
           
            SetAnimation(position);

            holder.image.setImageBitmap(Showitdata.image);
            holder.title.setText(Showitdata.title);
            holder.detail.setText(Showitdata.detail);
            holder.telephone.setText(Showitdata.telephone);

            return convertView;
        }

이부분이 어댑터의 getview부분입니다.
setanimation해서 불러내고있구요

 public void SetAnimation(int position) {
             LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                View v = inflater.inflate(R.layout.item_showit_adlist, null);
                TextSwitcher mSwitcher, mSwitcher2, mSwitcher3, mSwitcher4, mSwitcher5, mSwitcher6;
                final ShowitData Showitdata = mShowitData.get(position);

                    mSwitcher = (TextSwitcher) v.findViewById(R.id.textSwitcher1);
                    mSwitcher2 = (TextSwitcher) v.findViewById(R.id.textSwitcher2);
                    mSwitcher3 = (TextSwitcher) v.findViewById(R.id.textSwitcher3);
                    mSwitcher4 = (TextSwitcher) v.findViewById(R.id.textSwitcher4);
                    mSwitcher5 = (TextSwitcher) v.findViewById(R.id.textSwitcher5);
                    mSwitcher6 = (TextSwitcher) v.findViewById(R.id.textSwitcher6);

                    mSwitcher.setFactory(Frag_Showit.this);
                    mSwitcher2.setFactory(Frag_Showit.this);
                    mSwitcher3.setFactory(Frag_Showit.this);
                    mSwitcher4.setFactory(Frag_Showit.this);
                    mSwitcher5.setFactory(Frag_Showit.this);
                    mSwitcher6.setFactory(Frag_Showit.this);

                    final Animation in = AnimationUtils.loadAnimation(ctx, R.anim.in);
                    final Animation out = AnimationUtils.loadAnimation(ctx, R.anim.out);

                    mSwitcher.setInAnimation(in);
                    mSwitcher.setOutAnimation(out);
                    mSwitcher2.setInAnimation(in);
                    mSwitcher2.setOutAnimation(out);
                    mSwitcher3.setInAnimation(in);
                    mSwitcher3.setOutAnimation(out);
                    mSwitcher4.setInAnimation(in);
                    mSwitcher4.setOutAnimation(out);
                    mSwitcher5.setInAnimation(in);
                    mSwitcher5.setOutAnimation(out);
                    mSwitcher6.setInAnimation(in);
                    mSwitcher6.setOutAnimation(out);

                    mSwitcher.setText(Showitdata.address.substring(0, 1));
                    mSwitcher2.setText(Showitdata.address.substring(1, 2));
                    mSwitcher3.setText(Showitdata.address.substring(2, 3));
                    mSwitcher4.setText(Showitdata.address.substring(3, 4));
                    mSwitcher5.setText(Showitdata.address.substring(4, 5));
                    mSwitcher6.setText(Showitdata.address.substring(5, 6));
                   
                    Log.i("TEST", "지나가냐?");
       
         }

이부분이 setanimation해서 따로 만들어주었는데 왜 화면에 보이지안흔걸까요ㅠ
...