Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将选定的listview持有者项添加到hashmap中_Android_Listview_Arraylist_Hashmap_Android Viewholder - Fatal编程技术网

Android 如何将选定的listview持有者项添加到hashmap中

Android 如何将选定的listview持有者项添加到hashmap中,android,listview,arraylist,hashmap,android-viewholder,Android,Listview,Arraylist,Hashmap,Android Viewholder,listview中有多个项目。我不知道如何将选定的listview持有者项目添加到hashmap中,然后将hashmap类型的Arraylist发送到另一个购物车活动。这是我的密码: 购物清单.java class ListViewAdapter extends BaseAdapter { Context mContext; LayoutInflater inflater; private List<ShoppingData> datalist = null;

listview中有多个项目。我不知道如何将选定的listview持有者项目添加到hashmap中,然后将hashmap类型的Arraylist发送到另一个购物车活动。这是我的密码:

购物清单.java

class ListViewAdapter extends BaseAdapter {
    Context mContext;
    LayoutInflater inflater;
    private List<ShoppingData> datalist = null;
    private ArrayList<ShoppingData> arraylist;




    public ListViewAdapter(Context context, List<ShoppingData> worldpopulationlist) {
        mContext = context;

        this.datalist = worldpopulationlist;
        inflater = LayoutInflater.from(mContext);
        this.arraylist = new ArrayList<ShoppingData>();
        this.arraylist.addAll(worldpopulationlist);
    }

    public class ViewHolder {
        ImageView icon;
        TextView title,price;
        EditText quantity;
        Button add,remove;

    }

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

    }

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

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

    @Override
    public View getView(final int position, View view, ViewGroup parent) {

         imgUrl="http://www.domainname.com/images/Product/medium/";
        final ViewHolder holder;

        holder = new ViewHolder();


        view=inflater.inflate(R.layout.shopping_list_item,null);

        holder.icon=(ImageView)view.findViewById(R.id.image_shooping);
        holder.title=(TextView)view.findViewById(R.id.text_shopping);
        holder.price=(TextView)view.findViewById(R.id.price_shopping);
        holder.quantity=(EditText)view.findViewById(R.id.item_cart);
        holder.add=(Button)view.findViewById(R.id.add_cart);
        holder.remove=(Button)view.findViewById(R.id.remove_item);


        holder.title.setText(datalist.get(position).getName());
        holder.price.setText("Price :"+datalist.get(position).getAmt()+" Rs");

        Glide
                .with(mContext)
                .load(imgUrl+datalist.get(position).getImg())
                .into(holder.icon);

        holder.remove.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                for(int i=0;i<contents.size();i++)
                {
                    HashMap<String,String>map=new HashMap<String, String>(i);
                    map.remove("name");
                    map.remove("Amount");
                    map.remove("image");
                    map.remove("quantity");
                    map.remove("total");
                    map.remove("tax");
                    map.remove("discount");
                    map.remove("productId");
                    map.remove("bv");
                    map.remove("pv");

                    contents.set(i,map);
                    contents.remove(map);

                    Toast.makeText(Shopping_list.this, datalist.get(position).getName() + "Succesfully Removed ", Toast.LENGTH_SHORT).show();


                    holder.add.setVisibility(View.VISIBLE);
                    holder.remove.setVisibility(View.INVISIBLE);
                    holder.quantity.setText("");
                    holder.add.setText("Add to cart");

                }
            }
        });


        holder.add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                holder.quantity.setVisibility(View.VISIBLE);


                        if(holder.quantity.getText().toString().compareTo("")==0)
                {

                    Toast.makeText(Shopping_list.this, " Enter Valid Quantity", Toast.LENGTH_SHORT).show();

                }
                else {
                            for (int i = 0; i < datalist.size() ; i++) {
                                HashMap<String, String> map = new HashMap<String, String>(i);

                                float netAmount = Float.parseFloat(datalist.get(position).getAmt()) * Float.parseFloat(holder.quantity.getText().toString());
                                String net = String.valueOf(netAmount);

                                map.put("name", datalist.get(position).getName());
                                map.put("Amount", datalist.get(position).getAmt());
                                map.put("image", imgUrl + datalist.get(position).getImg());
                                map.put("quantity", holder.quantity.getText().toString());
                                map.put("total", net);
                                map.put("tax",datalist.get(position).getTax());
                                map.put("discount",datalist.get(position).getDiscount());
                                map.put("productId",datalist.get(position).getProductId());
                                map.put("bv",datalist.get(position).getBv());
                                map.put("pv",datalist.get(position).getPv());

                                Toast.makeText(Shopping_list.this, datalist.get(position).getName() + " Succesfully Added to cart", Toast.LENGTH_SHORT).show();

                                holder.add.setText("Added");
                                holder.remove.setVisibility(View.VISIBLE);

                                contents.add(map);
                                System.out.println("haspmap" + contents);
                                System.out.println("contents size"+contents.size());



                            }


                        }
            }
        });

        return view;
    }

}

public class ShoppingData {
    private String name;

    private String amt;
    private String img;
    private String tax;
    private String discount;
    private String productId;
    private String bv;
    private String pv;


    public ShoppingData(String nm,  String amt ,String img,String tax,String discount,String productId,String bv,String pv) {
        this.name = nm;

        this.amt = amt;

        this.img=img;
        this.tax=tax;
        this.discount=discount;
        this.productId=productId;
        this.bv=bv;
        this.pv=pv;

    }

    public String getName() {
        return this.name;
    }
    public String getAmt() {
        return this.amt;
    }
    public String getImg()
    {
        return this.img;
    }
    public String getTax()
    {
        return this.tax;
    }

    public String getDiscount()
    {
        return  this.discount;
    }

    public String getProductId()
    {
        return this.productId;
    }
    public String getBv()
    {
        return this.bv;
    }
    public String getPv()
    {
        return this.pv;
    }

}
类ListViewAdapter扩展了BaseAdapter{
语境;
充气机;
私有列表datalist=null;
私有ArrayList ArrayList;
公共ListViewAdapter(上下文上下文,列表worldpopulationlist){
mContext=上下文;
this.datalist=worldpopulationlist;
充气器=从(mContext)开始的充气器;
this.arraylist=新的arraylist();
this.arraylist.addAll(worldpopulationlist);
}
公共类视图持有者{
图像视图图标;
文本视图标题、价格;
编辑文本数量;
按钮添加、删除;
}
@凌驾
public int getCount(){
返回datalist.size();
}
@凌驾
公共对象getItem(int位置){
返回datalist.get(位置);
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@凌驾
公共视图getView(最终整数位置、视图视图、视图组父视图){
imgUrl=”http://www.domainname.com/images/Product/medium/";
最终持票人;
holder=新的ViewHolder();
视图=充气机。充气(右布局。购物清单项目,空);
holder.icon=(ImageView)view.findViewById(R.id.image\u shooping);
holder.title=(TextView)view.findViewById(R.id.text\u shopping);
holder.price=(TextView)view.findViewById(R.id.price\u shopping);
holder.quantity=(EditText)view.findViewById(R.id.item\u cart);
holder.add=(按钮)view.findViewById(R.id.add\u cart);
holder.remove=(按钮)view.findViewById(R.id.remove\u项);
holder.title.setText(datalist.get(position.getName());
holder.price.setText(“价格:”+datalist.get(position.getAmt()+“Rs”);
滑翔
.with(mContext)
.load(imgUrl+datalist.get(position.getImg())
.into(holder.icon);
holder.remove.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){

对于(int i=0;i您所能做的只是将数据添加到
ShoppingData
类的对象,而不是hashmap,然后将此对象传递到另一个活动。阅读它将教会您如何将
对象从一个活动传递到另一个活动。
编辑:

当然,你可以创建像
map
这样的散列图,很容易添加、发送和删除!

请任何人给我任何解决方案。这个问题很难回答吗?不,但我正在做其他事情。如果我烤蛋糕给你吃,你不会学到任何东西!是的,我不是要代码,而是根据代码给我提示,因为我是s结束hashmap到另一个活动的arraylist。离开此活动时,请使用intent.putExtra(“mylist”,dataList);以intent的形式发送,如何确定选择了哪一行