changing button text when a button is clicked on with in a listview
===

Hi hoping someone can help. I have a list view that displays various textviews,editviews and abutton on each row. I have used the getView
              
         public View getView(final int position, View convertView, ViewGroup parent) 
	    {            
			View v = convertView;
				
			
		       if (v == null) {
		            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		            v = inflater.inflate(R.layout.catlistrow, null);
		        
		       }
		       
		       TextView pDesc = (TextView) v.findViewById(R.id.productlinerow);
		       TextView pPack = (TextView) v.findViewById(R.id.productlinerow3);
		       ImageView iThumbnail = (ImageView) v.findViewById(R.id.Thumbnail);
		       final Button bAdd = (Button)v.findViewById(R.id.SOCatLine);
		       
		       	final EditText pOrdQty = (EditText) v.findViewById(R.id.SOQty);

               
               pDesc.setText(((HashMap<String,String>) getItem(position)).get("Column2")); 
               pPack.setText(((HashMap<String,String>) getItem(position)).get("Column3"));
               pOrdQty.setText(((HashMap<String,String>) getItem(position)).get("OrdQty"));
               String EanCode = ((HashMap<String,String>) getItem(position)).get("EANCode");

 I then add a OnClickListner for the add button with in the getView

                    bAdd.setOnClickListener(new View.OnClickListener(){          
  	    	public void onClick(View v) {
			 	
								   	   
				Object o = list.get(position);
				HashMap<String, String> map2 = (HashMap<String, String>)o;
				String b = map2.get("OrdQty");
				String sProdCode = map2.get("ProdCode");
				String ProdPrice = map2.get("ProdPrice");
				b = pOrdQty.getText().toString();
					          
				int OrderQty = Integer.parseInt(b);
				
				//Check to see if add is pressed and qty zero
				if ( OrderQty == 0 )
				{
				  OrderQty = 1;
				  b = "1";

			   	}
									   
				db.open();
				int iOrderNo = Integer.parseInt(OrderNo);


				// update line
				iLineNumber = iLineNumber + 1;
				int QtyCheck = db.createCATorderline(iOrderNo, iLineNumber,
								sProdCode, ProdPrice, b,"P");


				bAdd.setText("Change");	


				//Close the database
				db.close();
			   
			   	   					 

  	    	}	
  		  
  	  }); 

The button text changes fine on the button i clicked on which is great. The problem im having is that if i scroll down every now and then i see the text has also changed on one of the buttons on the screen. 

Can anyone help?

Thanks Neil 
