Note that there are some explanatory texts on larger screens.

plurals
  1. POOn Button Click how to increment counter and show in textview
    primarykey
    data
    text
    <p>I am working on a shopping cart assignment for that I have created a custom ListView that contains the Picture, Price and Add to Cart button in each row. I also have a textview at the top which increments everytime the user presses the Add to cart. The Button in every row is perfectly working fine but I don't know how to increment the counter and set it to the textview as whenever I do this under onClick event I get runtime error. I am sharing with you the code. </p> <pre><code>package uet.cs08.bll; import java.util.ArrayList; import uet.cs08.android.R; import uet.cs08.android.mainActivity2; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; public class itemBaseAdapter extends BaseAdapter { public int count = 5; private ArrayList&lt;ItemInfo&gt; itemList; private LayoutInflater mInflater; public itemBaseAdapter(Context context, ArrayList&lt;ItemInfo&gt; itemList){ this.itemList=itemList; mInflater= LayoutInflater.from(context); } @Override public int getCount() { return itemList.size(); } @Override public Object getItem(int idx) { return itemList.get(idx); } @Override public long getItemId(int idx) { // TODO Auto-generated method stub return idx; } @Override public View getView(int idx, View convertView, ViewGroup parent) { final ViewHolder holder; if(convertView==null){ convertView=mInflater.inflate(R.layout.item_list_row, null); holder = new ViewHolder(); holder.txtItemName=(TextView) convertView.findViewById(R.id.itemName); holder.txtPic=(ImageView) convertView.findViewById(R.id.pic); holder.txtPrice=(TextView) convertView.findViewById(R.id.price); holder.counter = (TextView) convertView.findViewById(R.id.tvCount); Button btn = (Button) convertView.findViewById(R.id.Cart); final TextView tv = (TextView)convertView.findViewById(R.id.tvCount); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { count = Integer.parseInt((String)tv.getText()); count++; tv.setText("" + count); } }); //tv.setText(""+count); convertView.setTag(holder); }else { holder = (ViewHolder) convertView.getTag(); } holder.txtItemName.setText(itemList.get(idx).itemName); holder.txtPic.setImageResource(itemList.get(idx).pic); holder.txtPrice.setText(""+itemList.get(idx).price); holder.counter.setText(itemList.get(idx).count); return convertView; } class ViewHolder { TextView txtItemName; ImageView txtPic; TextView txtPrice; TextView counter; } </code></pre> <p>} ` <strong>Here is the logCat.</strong> </p> <pre><code>03-20 16:16:38.853: D/AndroidRuntime(2759): Shutting down VM 03-20 16:16:38.853: W/dalvikvm(2759): threadid=1: thread exiting with uncaught exception (group=0x40015560) 03-20 16:16:38.883: E/AndroidRuntime(2759): FATAL EXCEPTION: main 03-20 16:16:38.883: E/AndroidRuntime(2759): java.lang.NullPointerException 03-20 16:16:38.883: E/AndroidRuntime(2759): at uet.cs08.bll.itemBaseAdapter$1.onClick(itemBaseAdapter.java:61) 03-20 16:16:38.883: E/AndroidRuntime(2759): at android.view.View.performClick(View.java:2485) 03-20 16:16:38.883: E/AndroidRuntime(2759): at android.view.View$PerformClick.run(View.java:9080) 03-20 16:16:38.883: E/AndroidRuntime(2759): at android.os.Handler.handleCallback(Handler.java:587) 03-20 16:16:38.883: E/AndroidRuntime(2759): at android.os.Handler.dispatchMessage(Handler.java:92) 03-20 16:16:38.883: E/AndroidRuntime(2759): at android.os.Looper.loop(Looper.java:123) 03-20 16:16:38.883: E/AndroidRuntime(2759): at android.app.ActivityThread.main(ActivityThread.java:3683) 03-20 16:16:38.883: E/AndroidRuntime(2759): at java.lang.reflect.Method.invokeNative(Native Method) 03-20 16:16:38.883: E/AndroidRuntime(2759): at java.lang.reflect.Method.invoke(Method.java:507) 03-20 16:16:38.883: E/AndroidRuntime(2759): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 03-20 16:16:38.883: E/AndroidRuntime(2759): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 03-20 16:16:38.883: E/AndroidRuntime(2759): at dalvik.system.NativeStart.main(Native Method) </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload