Actually what i am doing is giving user option to increment decrements   
     products on all list-view items as shown in attached picture

     I am able to take listview item name,price to next screen but how should
     take the quantity value to next screen.
     the quantity updation code is done in the adapter of products

     ************************************************************************



     ItemListBaseAdapter.java


    public class ItemListBaseAdapter extends ArrayAdapter<RowItem> {
        LayoutInflater mInflater;
        Context context;
        ViewHolder holder;

        public ItemListBaseAdapter(Context context, int resourceId,
                        List<RowItem> rowItems) {
                super(context, resourceId, rowItems);
                mSelectedItemsIds = new SparseBooleanArray();
                this.context = context;
        }

        /* private view holder class */
        private class ViewHolder {
                TextView txtTitle, txtPrice;
                TextView txtDesc;
                Button add, sub;

        }

        public View getView(final int position, View 
convertView,ViewGroupparent)  
    {
                holder = null;
                RowItem rowItem = getItem(position);

                mInflater = (LayoutInflater) context
                                
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
                if (convertView == null) {
                        convertView = 
mInflater.inflate(R.layout.item_details_view, null);
                        holder = new ViewHolder();
                        holder.txtDesc = (TextView) 
convertView.findViewById(R.id.desc);
                        holder.txtTitle = (TextView) 
convertView.findViewById(R.id.title);
                        holder.txtPrice = (TextView) 
convertView.findViewById(R.id.pricee);
                        holder.add = (Button) 
convertView.findViewById(R.id.button1);
                        holder.sub = (Button) 
convertView.findViewById(R.id.button2);
                        holder.add_to = (Button) 
convertView.findViewById(R.id.button3);
                        convertView.setTag(holder);
                } else
                        holder = (ViewHolder) convertView.getTag();

                holder.txtPrice.setText("Price $ " + rowItem.getPrice());

                holder.txtTitle.setText(rowItem.getTitle());
                holder.txtTitle.setTag(position);


                holder.add.setTag(position);
                holder.sub.setTag(position);
                final ViewHolder viewHolderFinal = holder;
                final RowItem finalRowItem = rowItem;
                holder.add.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                                int quantity = finalRowItem.getQuantity(); // 
get the quantity
                        finalRowItem.setQuantity(quantity + 1); // update it by 
adding 1
                                
viewHolderFinal.txtDesc.setText(finalRowItem.getDesc());

                        }
                });

                holder.sub.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                                int quantity = finalRowItem.getQuantity(); // 
get the quantity
                                                        // for this row     item
                                finalRowItem.setQuantity(quantity - 1); // 
update it by
                                                                                
                                // subtracting 1
                                
viewHolderFinal.txtDesc.setText(finalRowItem.getDesc());
                
                        }
                });
                
                return convertView;
        }
     


    ProductList.java


    import java.util.ArrayList;
    import java.util.HashMap;

    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;

     import android.app.AlertDialog;
     import android.app.Fragment;
      import android.app.FragmentTransaction;
      import android.app.ProgressDialog;
      import android.content.Intent;
      import android.os.AsyncTask;
      import android.os.Bundle;
      import android.util.Log;
      import android.util.SparseBooleanArray;
      import android.view.ActionMode;
      import android.view.KeyEvent;
      import android.view.LayoutInflater;
      import android.view.Menu;
      import android.view.MenuInflater;
      import android.view.MenuItem;
      import android.view.View;
      import android.view.View.OnClickListener;
      import android.view.ViewGroup;
      import android.widget.AbsListView;
      import android.widget.AdapterView;
      import android.widget.AdapterView.OnItemClickListener;
      import android.widget.Button;
      import android.widget.ListView;
      import android.widget.Toast;

      public class ProductList extends Fragment {

         ItemListBaseAdapter apage;
         ListView userlist;
         RowItem item;
         ArrayList<RowItem> sub_cat_arr = new ArrayList<RowItem>();
     String u = Login.url + "Products/API/?f=" + "get_product&cat=", id, level;
         Button button_show_cart;
     int global_position;


        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
        ViewrootView=inflater.inflate
      (R.layout.pro_list,container,  false);
                userlist = (ListView) rootView.findViewById(android.R.id.list);

                button_show_cart = (Button) 
rootView.findViewById(R.id.button_add);


                new subcat_data().execute();
                apage = new ItemListBaseAdapter(getActivity(),
                                R.layout.item_details_view, sub_cat_arr);
                userlist.setAdapter(apage);
                // userlist.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
                apage.clear();


                 button_show_cart.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                int position = (Integer) v.getTag();
                //********************************** 
                unable to get per listview quantity here to take to next screen
                **********************************///
                                Intent x = new Intent(getActivity(), 
Screen2.class);
                                startActivity(x);
                                
                        }
                });
                
                return rootView;
        }

        class subcat_data extends AsyncTask<Void, Void, Void> {
                ProgressDialog dialog;

                protected void onPreExecute() {
                        
                        dialog = new ProgressDialog(getActivity(),
                                        AlertDialog.THEME_HOLO_LIGHT);
                        dialog.setMessage("Please wait a moment");
                        dialog.show();
                        dialog.setCancelable(false);
                }

                protected Void doInBackground(Void... arg0) {
                        ServiceHandler sh = new ServiceHandler();

                        String jsonStr = sh.makeServiceCall(u, 
ServiceHandler.GET);

                        Log.d("Response: ", "> " + jsonStr);

                        try {
                                 JSONArray jsonarray = new JSONArray(jsonStr);

                                for (int i = 0; i < jsonarray.length(); i++) {
                                          JSONObject jsonobject = 
jsonarray.getJSONObject(i);

                                        RowItem actor = new RowItem();
                                        String name = 
jsonobject.getString("name");
                                           String price = 
jsonobject.getString("price");

                                        actor.setTitle(name);
                                        actor.setPrice(price);
                                        sub_cat_arr.add(actor);
                                }
                        } catch (JSONException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        } catch (Exception e) {
                                e.printStackTrace();
                        }

                        return null;
                }

                protected void onPostExecute(Void result) {
                        dialog.cancel();
                        if (ServiceHandler.response != null) {
                                apage.notifyDataSetChanged();

                        } else {
                                Toast.makeText(getActivity(),
                                                "error",
                                                Toast.LENGTH_SHORT).show();
                        }
                }
        }

    }
 

    



         Please suggest friends what to do?
         Thanks


          [1]: http://i.stack.imgur.com/HmuzT.png

-- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-developers/0233e715-f533-42ca-9ebd-8a94abe372d9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to