旧的获取视图更改其他列表视图中的数据

时间:2017-07-03 20:29:59

标签: android listview

你好每一个我真的从过去3天在一个非常小的地方被打动我在我的应用程序中有3个自定义列表视图当我在一个listvew中检查值时我的应用程序是什么然后scoll其他列表查看第一个编辑的数据框自动​​传递给其他人,我不想要那个。 。我的第一个适配器

public class Doneyesadapter extends BaseAdapter {



       private List<ApplicationInfo> appInfoList;
        private LayoutInflater mInflater;
        private PackageManager pm;
        ArrayList<Boolean> positionArray;
        private Context ctx;
        int[] visiblePosArray;
        private volatile int positionCheck;


        String[] strItecode=null;
        String[] strItem;
        String[] strQuantity,text;
        int temp;
        private int editingPosition = 0;

        ArrayList<String> listItem;
        ArrayList<String> listAddress;
        ArrayList<String> quantity;
        ArrayList<String> idlist;

        public static ArrayList<String> ItemID_list=new ArrayList<String>();
        public static ArrayList<String> StockCode_list=new ArrayList<String>();
        public static ArrayList<String> Description_list=new ArrayList<String>();
        public static ArrayList<String> Quantity_list=new ArrayList<String>();



        Context mContext;
        ArrayList<String> dates;

        //constructor
        public Doneyesadapter(Context mContext, ArrayList<String> listItem, ArrayList<String> listAddress,ArrayList<String> quantity
                ,ArrayList<String> idlist ) {
            this.mContext = mContext;
            this.listItem = listItem;
            this.listAddress = listAddress;
            this.quantity = quantity;
            this.idlist = idlist;

            text= new String[idlist.size()];


            pm = mContext.getPackageManager();

            positionArray = new ArrayList<Boolean>(listItem.size());
            for(int i =0;i<listItem.size();i++){
                positionArray.add(false);
            }
            //this.dates=date;


        }

        private TextWatcher watcher = new TextWatcher() {
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                text[editingPosition] = s.toString();
            }
            public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
            public void afterTextChanged(Editable s) { }
        };

        public int getCount() {
            return listItem.size();
        }
        public void cleardata(){

            listAddress.clear();
            listItem.clear();
        }

        public Object getItem(int arg0) {
            return null;
        }

        public String getName(int pos){
            int name =pos;
            String ll = listAddress.get(name);
            return ll;
        }

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

        public View getView(final int position, View arg1, ViewGroup viewGroup) {

            final ViewHolder1 holder;
            temp=position;
            if (arg1 == null) {
                holder = new ViewHolder1();
                LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                arg1 = inflater.inflate(R.layout.stocklistcustom, viewGroup, false);
                holder.checkbox1 = (CheckBox) arg1.findViewById(R.id.checkbox1);
                holder.Des = (TextView) arg1.findViewById(R.id.description1);
                holder.stockid = (TextView) arg1.findViewById(R.id.stockid1);
                holder.done = (EditText) arg1.findViewById(R.id.quantity1);
                holder.stockid.setText(listItem.get(position));
                holder.Des.setText(listAddress.get(position));
                holder.done.setText(quantity.get(position));


                arg1.setTag(holder);
            } else {


                holder = (ViewHolder1) arg1.getTag();
            }



                holder.checkbox1.setOnCheckedChangeListener(null);


                holder.checkbox1.setFocusable(false);
                // holder.checkbox1.setImageDrawable(appInfoList.get(position).loadIcon(pm));
                holder.checkbox1.setChecked(positionArray.get(position));
    //        holder.checkbox1.setText(appInfoList.get(position).loadLabel(pm));
                holder.checkbox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

                    @Override
                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {


                        int i = 0;
                        // Toast.makeText(mContext, "here is commom"+buttonView, Toast.LENGTH_SHORT).show();
                        if (holder.checkbox1.isChecked()) {
                            quantity.set(position,holder.done.getText().toString());

                            positionArray.set(position, true);
                            String id, qu, des, stc;
                            id = idlist.get(position);
                            qu = quantity.get(position);
                            des = listAddress.get(position);
                            stc = listItem.get(position);

                            ItemID_list.add(i, id);
                            StockCode_list.add(i, stc);
                            Description_list.add(des);
                            Quantity_list.add(i,text[temp]);
                            quantity.set(position,holder.done.getText().toString());
                            holder.done.setText(quantity.get(position));


                            i++;


                        } else {
                            positionArray.set(position, false);


                            ItemID_list.remove(i);
                            StockCode_list.remove(i);
                            Description_list.remove(i);
                            Quantity_list.remove(i);
                            holder.done.setText(quantity.get(position));
                            i--;
                        }
                    }
                });


                holder.done.addTextChangedListener(new TextWatcher() {
                    @Override
                    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                        text[temp] = s.toString();
                    }

                    @Override
                    public void onTextChanged(CharSequence s, int start, int before, int count) {

                    }

                    @Override
                    public void afterTextChanged(Editable s) {
                        text[temp] = s.toString();
                    }
                });
                holder.done.setText(text[temp]);

                //date.setText(dates);

            holder.stockid.setText(listItem.get(position));
            holder.Des.setText(listAddress.get(position));
            holder.done.setText(quantity.get(position));
                return arg1;

        }
        private class ViewHolder1{
            CheckBox checkbox1;
            TextView Des;
            TextView stockid;
            EditText done;


        }
    }

我的第二个适配器

 public Doneyesadapter2(Context mContext, ArrayList<String> listItem, ArrayList<String> listAddress,ArrayList<String> quantity
   ,ArrayList<String> idlist ) {
        this.mContext = mContext;
        this.listItem = listItem;
        this.listAddress = listAddress;
        this.quantitys = quantity;
        this.idlist = idlist;
        text= new String[idlist.size()];


        pm = mContext.getPackageManager();

        positionArray = new ArrayList<Boolean>(listItem.size());
        for(int i =0;i<listItem.size();i++){
            positionArray.add(false);
        }
        //this.dates=date;


    }
    private TextWatcher watcher = new TextWatcher() {
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            text[editingPosition] = s.toString();
        }
        public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
        public void afterTextChanged(Editable s) { }
    };

    public int getCount() {
        return listItem.size();
    }
    public void cleardata(){

        listAddress.clear();
        listItem.clear();
    }

    public Object getItem(int arg0) {
        return null;
    }

    public String getName(int pos){
        int name =pos;
        String ll = listAddress.get(name);
        return ll;
    }

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

    public View getView(final int position, View arg11, ViewGroup viewGroup) {
        final ViewHolders2 holder;
        int a=3;
        Log.e("second getview called", String.valueOf(a));

        temp=position;
        if (arg11 == null) {
            holder = new ViewHolders2();
            LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
             arg11 = inflater.inflate(R.layout.stocklistcustom2, viewGroup, false);
            holder.checkbox1 = (CheckBox) arg11.findViewById(R.id.checkbox2);
            holder.Des = (TextView) arg11.findViewById(R.id.description2);
            holder.stockid = (TextView) arg11.findViewById(R.id.stockid2);
            holder.done = (EditText) arg11.findViewById(R.id.quantity2);

            holder.stockid.setText(listItem.get(position));
            holder.Des.setText(listAddress.get(position));
            holder.done.setText(quantitys.get(position));
            arg11.setTag(holder);

        }
        else {
            holder = (ViewHolders2) arg11.getTag();


        }
            holder.checkbox1.setOnCheckedChangeListener(null);




            holder.checkbox1.setFocusable(false);
            // holder.checkbox1.setImageDrawable(appInfoList.get(position).loadIcon(pm));
            holder.checkbox1.setChecked(positionArray.get(position));
            holder.checkbox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    int i = 0;
                    if (holder.checkbox1.isChecked()) {
                        quantitys.set(position,holder.done.getText().toString());
                        positionArray.set(position, true);
                        String id, qu, des, stc;
                        id = idlist.get(position);
                        qu = quantitys.get(position);
                        des = listAddress.get(position);
                        stc = listItem.get(position);

                        ItemID_list2.add(i, id);
                        StockCode_list2.add(i, stc);
                        Description_list2.add(des);
                        //Quantity_list2.add(, holder.done.getText().toString());
                        Quantity_list2.add(i,holder.done.getText().toString());
                        i++;
                        general=i;


                    } else {
                        positionArray.set(position, false);
                        ItemID_list2.remove(i);
                        StockCode_list2.remove(i);
                        Description_list2.remove(i);
                        Quantity_list2.remove(i);

                        i--;
                        general=i;
                    }
                }
            });

            holder.done.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                    text[temp] = s.toString();
                }

                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {

                }

                @Override
                public void afterTextChanged(Editable s) {
                    text[temp] = s.toString();
                }
            });
            holder.done.setText(text[temp]);


        holder.stockid.setText(listItem.get(position));
        holder.Des.setText(listAddress.get(position));
        holder.done.setText(quantitys.get(position));

        //date.setText(dates);



        return arg11;
    }
        private class ViewHolders2{
            CheckBox checkbox1;
            TextView Des;
            TextView stockid;
            EditText done;


        }
}

0 个答案:

没有答案