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