title: Editext inside ListItem not editable in android
body: <p>I have made a ListView in that every ListItem is having EditText ,I want to edit them,But I am not able to edit them,Please help me for that,My code is as below,I have mentioned my java class(activity),Xml and raw file which will be binded to the ListView and adapter:
  <strong>cart.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical" &gt;
  
      &lt;RelativeLayout
          android:id="@+id/hdr_cart"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content" &gt;
  
          &lt;ImageView
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:background="@drawable/header_bg" /&gt;
  
          &lt;TextView
              android:id="@+id/tv_title"
              style="@style/font_med"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_centerInParent="true"
              android:text="My cart"
              android:textColor="#ff0000" /&gt;
  
          &lt;ImageView
              android:id="@+id/iv_bak"
              style="@style/iv_buyingrequest"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_alignParentLeft="true"
              android:layout_centerVertical="true"
              android:background="@drawable/btn_back" /&gt;
      &lt;/RelativeLayout&gt;
  
      &lt;ListView
          android:id="@+id/cart_list"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_above="@+id/tv_total"
          android:layout_below="@+id/hdr_cart" /&gt;
  
      &lt;TextView
          android:id="@+id/tv_total"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_above="@+id/ll_botom"
          android:layout_alignParentLeft="true"
          android:layout_marginLeft="5dp"
          android:padding="5dp"
          android:text="Total:"
          android:textSize="20dp" /&gt;
  
      &lt;LinearLayout
          android:id="@+id/ll_botom"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_alignParentBottom="true"
          android:layout_marginLeft="10dp"
          android:layout_marginRight="10dp"
          android:orientation="horizontal"
          android:weightSum="2" &gt;
  
          &lt;Button
              android:id="@+id/tv_place_order"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:layout_weight="1"
              android:background="@drawable/bg_blu_btn_selector"
              android:gravity="center"
              android:padding="8dp"
              android:text="Place Order"
              android:textColor="#ffffff"
              android:textSize="16dp"
              android:textStyle="bold" /&gt;
  
          &lt;Button
              android:id="@+id/tv_home"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:layout_weight="1"
              android:background="@drawable/bg_blu_btn_selector"
              android:gravity="center"
              android:padding="8dp"
              android:text="Continue Shopping"
              android:textColor="#ffffff"
              android:textSize="16dp"
              android:textStyle="bold" /&gt;
      &lt;/LinearLayout&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p><strong>raw.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:descendantFocusability="blocksDescendants"
      android:padding="10dp" &gt;
  
      &lt;ImageView
          android:id="@+id/iv_product_img"
          android:layout_width="70dp"
          android:layout_height="70dp"
          android:layout_gravity="left"
          android:layout_marginTop="5dp" /&gt;
  
      &lt;TextView
          android:id="@+id/product_label"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_marginLeft="5dp"
          android:layout_toRightOf="@+id/iv_product_img"
          android:paddingBottom="5dp"
          android:paddingTop="5dp"
          android:text="product Name"
          android:textColor="#545454"
          android:textSize="14dp"
          android:textStyle="bold" /&gt;
  
      &lt;TextView
          android:id="@+id/tv_qty"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/product_label"
          android:layout_marginLeft="5dp"
          android:layout_toRightOf="@+id/iv_product_img"
          android:text="Quantity:"
          android:textColor="#000000"
          android:textSize="12dp" /&gt;
  
      &lt;EditText
          android:id="@+id/et_qty"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/product_label"
          android:layout_marginLeft="5dp"
          android:layout_toRightOf="@+id/tv_qty"
          android:background="@drawable/blk_editext"
          android:ems="4"
          android:gravity="center_vertical"
          android:text="200"
          android:textSize="12dp" /&gt;
  
      &lt;TextView
          android:id="@+id/tv_unit"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/product_label"
          android:layout_marginLeft="5dp"
          android:layout_toRightOf="@+id/et_qty"
          android:text="Acre"
          android:textColor="#000000"
          android:textSize="12dp" /&gt;
  
      &lt;TextView
          android:id="@+id/tv_wholesale_proce"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/et_qty"
          android:layout_marginLeft="5dp"
          android:layout_toRightOf="@+id/iv_product_img"
          android:text="Price:"
          android:textColor="#000000"
          android:textSize="12dp" /&gt;
  
      &lt;TextView
          android:id="@+id/tv_wprice"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/et_qty"
          android:layout_marginLeft="5dp"
          android:layout_toRightOf="@+id/tv_wholesale_proce"
          android:text="100"
          android:textColor="#545454"
          android:textSize="12dp" /&gt;
  
      &lt;TextView
          android:id="@+id/tv_retail"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/tv_wprice"
          android:layout_marginLeft="5dp"
          android:layout_toRightOf="@+id/iv_product_img"
          android:text="Sub Total:"
          android:textColor="#000000"
          android:textSize="12dp" /&gt;
  
      &lt;TextView
          android:id="@+id/tv_rprice"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/tv_wprice"
          android:layout_marginLeft="5dp"
          android:layout_toRightOf="@+id/tv_retail"
          android:text="100"
          android:textColor="#545454"
          android:textSize="12dp" /&gt;
  
      &lt;TextView
          android:id="@+id/pro_id"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/min_qty"
          android:layout_marginLeft="5dp"
          android:layout_toRightOf="@+id/fob_price"
          android:text=""
          android:textColor="#cecece"
          android:textSize="12dp" /&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p><strong>cartList.java</strong></p>
  
  <pre><code>package com.epe.yehki.ui;
  
  import java.util.ArrayList;
  import java.util.HashMap;
  
  import org.json.JSONArray;
  import org.json.JSONException;
  import org.json.JSONObject;
  
  import android.app.Activity;
  import android.app.Dialog;
  import android.app.ProgressDialog;
  import android.content.Context;
  import android.content.Intent;
  import android.graphics.Bitmap;
  import android.graphics.drawable.ColorDrawable;
  import android.os.AsyncTask;
  import android.os.Bundle;
  import android.util.Log;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.view.Window;
  import android.view.WindowManager;
  import android.widget.AdapterView;
  import android.widget.AdapterView.OnItemLongClickListener;
  import android.widget.Button;
  import android.widget.ImageView;
  import android.widget.ListView;
  import android.widget.TextView;
  
  import com.epe.yehki.adapter.CartAdapter;
  import com.epe.yehki.backend.BackendAPIService;
  
  import com.epe.yehki.util.Const;
  import com.epe.yehki.util.Pref;
  import com.example.yehki.R;
  
  public class CartListActivity extends Activity {
      private ProgressDialog pDialog;
      Intent in = null;
      ListView lv;
      JSONObject jsonObj;
      ArrayList&lt;HashMap&lt;String, String&gt;&gt; cartList;
      Bitmap bitmap;;
      private CartAdapter cartContent;
      JSONArray carts = null;
      ImageView back;
      TextView tv_place_order, tv_home;
      String total, pid;
      TextView tv_total;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          requestWindowFeature(Window.FEATURE_NO_TITLE);
          getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
          setContentView(R.layout.activity_cart_list);
          lv = (ListView) findViewById(R.id.cart_list);
          back = (ImageView) findViewById(R.id.iv_bak);
          tv_place_order = (TextView) findViewById(R.id.tv_place_order);
          tv_home = (TextView) findViewById(R.id.tv_home);
          tv_total = (TextView) findViewById(R.id.tv_total);
          cartList = new ArrayList&lt;HashMap&lt;String, String&gt;&gt;();
  
          back.setOnClickListener(new OnClickListener() {
  
              @Override
              public void onClick(View v) {
                  finish();
              }
          });
  
          // execute the cartList api()...........!!!!
          new GetCartList().execute();
          // listView ClickEvent
  
          lv.setOnItemLongClickListener(new OnItemLongClickListener() {
  
              @Override
              public boolean onItemLongClick(AdapterView&lt;?&gt; parent, View view, int position, long id) {
                  // TODO Auto-generated method stub
                  System.out.println("::::::::::::Long click:::::::::::::::::");
                  pid = cartList.get(position).get(Const.TAG_PRODUCT_ID);
                  showCustomeAlert(CartListActivity.this, "Are You Sure want to delete?", "Yehki", "No", "Yes", position, pid);
  
                  return false;
              }
          });
          tv_home.setOnClickListener(new OnClickListener() {
  
              @Override
              public void onClick(View v) {
                  in = new Intent(CartListActivity.this, HomeActivity.class);
                  startActivity(in);
              }
          });
          tv_place_order.setOnClickListener(new OnClickListener() {
  
              @Override
              public void onClick(View v) {
                  in = new Intent(CartListActivity.this, CartPlaceOrderActivity.class);
                  startActivity(in);
              }
          });
      }
  
      /*
       * CART LIST PRODUCT LIST...............!!!!!!!!!
       */
      private class GetCartList extends AsyncTask&lt;Void, Void, Void&gt; {
  
          @Override
          protected void onPreExecute() {
              super.onPreExecute();
              // Showing progress dialog
              pDialog = new ProgressDialog(CartListActivity.this);
              pDialog.setMessage("Please wait...");
              pDialog.setCancelable(false);
              pDialog.show();
  
          }
  
          @Override
          protected Void doInBackground(Void... arg0) {
              // Creating service handler class instance
              String cartUrl = Const.API_CART_LIST + "?customer_id=" + Pref.getValue(CartListActivity.this, Const.PREF_CUSTOMER_ID, "");
              BackendAPIService sh = new BackendAPIService();
              // Making a request to url and getting response
              String jsonStr = sh.makeServiceCall(cartUrl, BackendAPIService.GET);
  
              Log.d("Response: ", "&gt; " + jsonStr);
              try {
                  if (jsonStr != null) {
  
                      jsonObj = new JSONObject(jsonStr);
                      total = jsonObj.getString(Const.TAG_TOTAL);
  
                      // Getting JSON Array node
                      if (jsonObj.has(Const.TAG_PRO_LIST)) {
  
                          carts = jsonObj.getJSONArray(Const.TAG_PRO_LIST);
                          if (carts != null &amp;&amp; carts.length() != 0) {
                              // looping through All Contacts
  
                              for (int i = 0; i &lt; carts.length(); i++) {
                                  JSONObject c = carts.getJSONObject(i);
  
                                  String proId = c.getString(Const.TAG_PRODUCT_ID);
                                  String proName = c.getString(Const.TAG_PRODUCT_NAME);
                                  String wPrice = c.getString(Const.TAG_WHOLESALE_PRICE);
                                  String rPrice = c.getString(Const.TAG_RETAIL_PRICE);
                                  String qty = c.getString(Const.TAG_QUANTITY);
                                  String subTotal = c.getString(Const.TAG_SUBTOTAL);
  
                                  String proimg = Const.API_HOST + "/" + c.getString(Const.TAG_PRODUCT_IMG);
                                  HashMap&lt;String, String&gt; cartProduct = new HashMap&lt;String, String&gt;();
  
                                  cartProduct.put(Const.TAG_PRODUCT_ID, proId);
                                  cartProduct.put(Const.TAG_PRODUCT_NAME, proName);
                                  cartProduct.put(Const.TAG_PRODUCT_IMG, proimg);
                                  cartProduct.put(Const.TAG_WHOLESALE_PRICE, wPrice);
                                  cartProduct.put(Const.TAG_RETAIL_PRICE, rPrice);
                                  cartProduct.put(Const.TAG_QUANTITY, qty);
                                  cartProduct.put(Const.TAG_SUBTOTAL, subTotal);
                                  cartProduct.put(Const.TAG_TOTAL, total);
                                  cartList.add(cartProduct);
  
                              }
                          }
                      }
  
                  } else {
                      Log.e("ServiceHandler", "Couldn't get any data from the url");
                  }
  
              } catch (JSONException e) {
                  e.printStackTrace();
                  System.out.println("::::::::::::::::::got an error::::::::::::");
              }
              return null;
          }
  
          @Override
          protected void onPostExecute(Void result) {
              super.onPostExecute(result);
              // Dismiss the progress dialog
              if (pDialog.isShowing())
                  pDialog.dismiss();
  
              cartContent = new CartAdapter(CartListActivity.this, cartList);
              lv.setAdapter(cartContent);
              StringBuilder b = new StringBuilder();
              for (int i = 0; i &gt; cartContent.getCount(); i++)
                  b.append(cartContent.getItem(i));
              tv_total.setText("Total:" + total);
  
          }
  
      }
  
      public void showCustomeAlert(final Context context, String message, String title, String leftButton, String rightButton, final int position, final String pid2) {
          final Dialog dialog = new Dialog(context);
          dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
          dialog.setContentView(R.layout.popup_alert_delete);
          dialog.setCancelable(true);
          dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
  
          TextView txt_message = (TextView) dialog.findViewById(R.id.txtMessage);
          final Button btn_left = (Button) dialog.findViewById(R.id.btnLeft);
          final Button btn_right = (Button) dialog.findViewById(R.id.btnRigth);
  
          TextView txtTitle = (TextView) dialog.findViewById(R.id.txtTitle);
  
          txtTitle.setText(title);
          txt_message.setText(message);
          btn_left.setText(leftButton);
          btn_right.setText(rightButton);
          btn_left.setOnClickListener(new OnClickListener() {
              public void onClick(View v) {
                  dialog.dismiss();
  
              }
          });
          btn_right.setOnClickListener(new OnClickListener() {
  
              @Override
              public void onClick(View v) {
                  String pid = cartList.get(position).get(Const.TAG_PRODUCT_ID);
                  cartList.clear();
                  new RemoveCart().execute(pid2);
                  cartContent.notifyDataSetChanged();
  
                  dialog.dismiss();
  
              }
          });
  
          dialog.show();
      }
  
      /*
       * Remove from cart List.........!!!
       */
      private class RemoveCart extends AsyncTask&lt;String, Void, Void&gt; {
  
          @Override
          protected void onPreExecute() {
              super.onPreExecute();
              // Showing progress dialog
              pDialog = new ProgressDialog(CartListActivity.this);
              pDialog.setMessage("Please wait...");
              pDialog.setCancelable(false);
              pDialog.show();
  
          }
  
          @Override
          protected Void doInBackground(String... arg0) {
              // Creating service handler class instance
              String cartUrl = Const.API_REMOVE_CART_LIST + "?customer_id=" + Pref.getValue(CartListActivity.this, Const.PREF_CUSTOMER_ID, "") + "&amp;product_id=" + arg0[0];
              BackendAPIService sh = new BackendAPIService();
              // Making a request to url and getting response
              String jsonStr = sh.makeServiceCall(cartUrl, BackendAPIService.GET);
  
              Log.d("Response: ", "&gt; " + jsonStr);
              try {
                  if (jsonStr != null) {
  
                      jsonObj = new JSONObject(jsonStr);
                      total = jsonObj.getString(Const.TAG_TOTAL);
  
                      // Getting JSON Array node
                      if (jsonObj.has(Const.TAG_PRO_LIST)) {
  
                          carts = jsonObj.getJSONArray(Const.TAG_PRO_LIST);
                          if (carts != null &amp;&amp; carts.length() != 0) {
                              // looping through All Contacts
  
                              for (int i = 0; i &lt; carts.length(); i++) {
                                  JSONObject c = carts.getJSONObject(i);
  
                                  String proId = c.getString(Const.TAG_PRODUCT_ID);
                                  String proName = c.getString(Const.TAG_PRODUCT_NAME);
                                  String wPrice = c.getString(Const.TAG_WHOLESALE_PRICE);
                                  String rPrice = c.getString(Const.TAG_RETAIL_PRICE);
                                  String qty = c.getString(Const.TAG_QUANTITY);
                                  String subTotal = c.getString(Const.TAG_SUBTOTAL);
  
                                  String proimg = Const.API_HOST + "/" + c.getString(Const.TAG_PRODUCT_IMG);
                                  HashMap&lt;String, String&gt; cartProduct = new HashMap&lt;String, String&gt;();
  
                                  cartProduct.put(Const.TAG_PRODUCT_ID, proId);
                                  cartProduct.put(Const.TAG_PRODUCT_NAME, proName);
                                  cartProduct.put(Const.TAG_PRODUCT_IMG, proimg);
                                  cartProduct.put(Const.TAG_WHOLESALE_PRICE, wPrice);
                                  cartProduct.put(Const.TAG_RETAIL_PRICE, rPrice);
                                  cartProduct.put(Const.TAG_QUANTITY, qty);
                                  cartProduct.put(Const.TAG_SUBTOTAL, subTotal);
                                  cartProduct.put(Const.TAG_TOTAL, total);
                                  cartList.add(cartProduct);
  
                              }
                          }
                      }
  
                  } else {
                      Log.e("ServiceHandler", "Couldn't get any data from the url");
                  }
  
              } catch (JSONException e) {
                  e.printStackTrace();
                  System.out.println("::::::::::::::::::got an error::::::::::::");
              }
              return null;
          }
  
          @Override
          protected void onPostExecute(Void result) {
              super.onPostExecute(result);
              // Dismiss the progress dialog
              if (pDialog.isShowing())
                  pDialog.dismiss();
  
              cartContent = new CartAdapter(CartListActivity.this, cartList);
              lv.setAdapter(cartContent);
              StringBuilder b = new StringBuilder();
              for (int i = 0; i &gt; cartContent.getCount(); i++)
                  b.append(cartContent.getItem(i));
              tv_total.setText("Total:" + total);
  
          }
  
      }
  
  }
  </code></pre>
  
  <p><strong>cartAdapter.java</strong></p>
  
  <pre><code>package com.epe.yehki.adapter;
  
  import java.util.ArrayList;
  import java.util.HashMap;
  
  import org.json.JSONException;
  import org.json.JSONObject;
  
  import android.app.ProgressDialog;
  import android.content.Context;
  import android.os.AsyncTask;
  import android.text.Editable;
  import android.text.TextWatcher;
  import android.util.Log;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.BaseAdapter;
  import android.widget.EditText;
  import android.widget.ImageView;
  import android.widget.LinearLayout;
  import android.widget.TextView;
  import android.widget.Toast;
  
  import com.epe.yehki.backend.BackendAPIService;
  import com.epe.yehki.ui.WholesaleProductDetailActivity;
  import com.epe.yehki.util.Const;
  import com.epe.yehki.util.Pref;
  import com.example.yehki.R;
  import com.nostra13.universalimageloader.core.DisplayImageOptions;
  import com.nostra13.universalimageloader.core.ImageLoader;
  import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
  
  public class CartAdapter extends BaseAdapter {
      public ArrayList&lt;HashMap&lt;String, String&gt;&gt; cartArray;
      private Context mContext;
      private DisplayImageOptions options;
      public static ImageLoader imageLoader;
      String retailPrice;
      String wholesalePrice;
      String retailQty;
      String wholesaleQty;
      private ProgressDialog pDialog;
      String status;
  
      public CartAdapter(Context paramContext, ArrayList&lt;HashMap&lt;String, String&gt;&gt; cartList) {
          this.mContext = paramContext;
          this.cartArray = cartList;
  
          imageLoader = ImageLoader.getInstance();
          imageLoader.init(ImageLoaderConfiguration.createDefault(paramContext));
  
          options = new DisplayImageOptions.Builder().cacheOnDisc(true).showStubImage(R.drawable.logo).showImageOnFail(R.drawable.ic_launcher).build();
  
      }
  
      public int getCount() {
          return this.cartArray.size();
      }
  
      public Object getItem(int paramInt) {
          return Integer.valueOf(paramInt);
      }
  
      public long getItemId(int paramInt) {
          return paramInt;
      }
  
      @SuppressWarnings("static-access")
      public View getView(int paramInt, View paramView, ViewGroup paramViewGroup) {
          LayoutInflater localLayoutInflater = (LayoutInflater) this.mContext.getSystemService("layout_inflater");
          Viewholder localViewholder = null;
          if (paramView == null) {
              paramView = localLayoutInflater.inflate(R.layout.raw_cart, paramViewGroup, false);
              localViewholder = new Viewholder();
              localViewholder.pid = ((TextView) paramView.findViewById(R.id.pro_id));
              localViewholder.proImg = ((ImageView) paramView.findViewById(R.id.iv_product_img));
              localViewholder.proName = ((TextView) paramView.findViewById(R.id.product_label));
              localViewholder.price = ((TextView) paramView.findViewById(R.id.tv_wprice));
              localViewholder.qty = ((EditText) paramView.findViewById(R.id.et_qty));
              localViewholder.subTotal = ((TextView) paramView.findViewById(R.id.tv_rprice));
  
              paramView.setTag(localViewholder);
  
          } else {
              localViewholder = new Viewholder();
              localViewholder = (Viewholder) paramView.getTag();
          }
          System.out.println("::::::::::::::array indexes::::::::::::" + cartArray.get(paramInt));
  
          retailQty = cartArray.get(paramInt).get(Const.TAG_MIN_ORDER_QTY_RETAIL);
          retailPrice = cartArray.get(paramInt).get(Const.TAG_RETAIL_PRICE);
          wholesaleQty = cartArray.get(paramInt).get(Const.TAG_MIN_ORDER_QTY_WHOLESALE);
          wholesalePrice = cartArray.get(paramInt).get(Const.TAG_WHOLESALE_PRICE);
  
          localViewholder.proName.setText(cartArray.get(paramInt).get(Const.TAG_PRODUCT_NAME));
          localViewholder.pid.setText(cartArray.get(paramInt).get(Const.TAG_PRODUCT_ID));
          localViewholder.pid.setVisibility(View.GONE);
          localViewholder.qty.setText(cartArray.get(paramInt).get(Const.TAG_QUANTITY));
          localViewholder.subTotal.setText(cartArray.get(paramInt).get(Const.TAG_SUBTOTAL));
  
          /*
           * for changing the price based on quantity....
           */
          localViewholder.price.setText(cartArray.get(paramInt).get(Const.TAG_WHOLESALE_PRICE));
          imageLoader.displayImage(cartArray.get(paramInt).get(Const.TAG_PRODUCT_IMG), localViewholder.proImg, options);
  
          return paramView;
  
      }
  
      static class Viewholder {
          ImageView proImg;
          TextView proName;
          TextView price;
          TextView subTotal;
          TextView pid;
          EditText qty;
  
      }
  
  }
  </code></pre>