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

리스트뷰 포지션값을 못받아와요 ㅠ

0 추천
private class ViewHolder{

    protected TextView textView;
    protected ImageView imageView;
    protected Button button;
}

private class ListAdapter extends BaseAdapter {
    private Context mContext;
    private ArrayList<ListData> mData;

    ListAdapter(Context context, ArrayList<ListData> data){
        mContext = context;
        mData = data;
    }

    @Override
    public int getCount() {
        return mData.size();
    }

    @Override
    public Object getItem(int position) {
        return mData.get(position);
    }

    @Override
    public View getView(final int position, View convertView, final ViewGroup parent) {
        final ViewHolder vh;
        if( convertView == null ){
            LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            vh = new ViewHolder();
            convertView = inflater.inflate(R.layout.exclusion_item, parent, false);
            vh.textView = (TextView) convertView.findViewById(R.id.exclusion_item_text01);
            vh.imageView = (ImageView) convertView.findViewById(R.id.exclusion_item_icon);
            vh.button = (Button) convertView.findViewById(R.id.exclusion_item_button);
            vh.button = (Button) convertView.findViewById(R.id.exclusion_item_button);
            Log.d("List",String.valueOf(mListView.getSelectedItemPosition()));
            vh.button.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    Button btn = (Button) v;
                    ListData id = (ListData) btn.getTag();
                    String pkn = id.info.mAppPackge;
                    BatteryCommon.pkgAdd(v.getContext(), pkn);
                    btn.setClickable(false);
                    Log.d("pos", String.valueOf(mData.get(position)));

                    //data.remove(mAdapter.getItem();
                    mAdapter.notifyDataSetChanged();
                }
            });

            convertView.setTag(vh);
        } else {
            vh = (ViewHolder) convertView.getTag();
        }

        vh.textView.setText(mData.get(position).info.mAppName);
        vh.imageView.setImageDrawable(mData.get(position).info.mIcon);
        vh.button.setTag(mData.get(position));
        return convertView;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }
}

    private class ListData{
        protected Appinfo info;
        ListData( Appinfo info){
            this.info=info;
        }
}

초보개발자에요 .. ㅠ

코드는 이렇게 되어있습니다. 중간에 저기 View getView 안에있는 포지션을 쓰려했는데 자꾸 엉뚱한 번호가 나오네요

별별방법을 다 해보려했지만 제대로 동작하지 않아서 조심스럽게 올려봅니다 ㅠ

리스트뷰 님이 2015년 3월 19일 질문

1개의 답변

0 추천
 
채택된 답변
setonclicklistener 를 if 문 밖에다가 써보세요
mamondebaltob (32,750 포인트) 님이 2015년 3월 19일 답변
감사합니다 이렇게 해도 해결되네요 ㅠ
...