Oluşturulan her öğe, adı, fiyatı ve miktarı olan Ürün türünde bir nesnedir. Her bir öğenin konumunun bir ızgara görünümünde almaya çalıştığımda, her zaman görünümün ilk öğesini aldığım olur. Sorunumu göndermeden önce diğer birkaç yazıyı izledim ve etiketleri nasıl kullanacağım için her şeyi doğru yapıyorum gibi görünüyor.Her zaman aynı öğeyi alıyorum
Eğer gerekirse:
i artık önemi emülatör çalıştırdığınızda ben
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null || (convertView.getTag() == null)) {
convertView = inflater.inflate(R.layout.listview_values, parent, false);
holder = new ViewHolder();
holder.productName = (TextView) convertView.findViewById(R.id.textViewList1);
holder.productQuantity = (EditText) convertView.findViewById(R.id.EditTextList2);
holder.productPrice = (TextView) convertView.findViewById(R.id.textViewList3);
holder.removeProduct = (ImageButton) convertView.findViewById(R.id.removeProduct);
}
else {
holder = (ViewHolder) convertView.getTag();
}
convertView.setTag(holder);
holder.productName.setText(products.get(position).getProductName());
holder.productQuantity.setText(String.valueOf(products.get(position).getProductQuantity()) + " Un.");
holder.productPrice.setText(String.valueOf(products.get(position).getProductPrice())+ " €");
holder.removeProduct.setTag(new Integer(position));
return convertView;
}
ve
public void removeProduct(View v) {
ImageButton removeProduct = (ImageButton) findViewById(R.id.removeProduct);
Integer position = (Integer) removeProduct.getTag();
Product p1 = (Product) adapter.getItem(position);
Toast toast = Toast.makeText(this,"You want to remove the item: "+ position +" with the product name: "+ p1.getProductName() + " , quantity: "+ p1.getProductQuantity()
+ " , price: " + p1.getProductPrice(),Toast.LENGTH_LONG); toast.show();
}
ne öğe i her zaman bu sonucu elde tıklayın daha fazla kod görmek için sadece bana söyle ve ben yayınlayacağım. Şimdiden teşekkürler arkadaşlar. Tekrar
ImageButton removeProduct = (ImageButton) findViewById(R.id.removeProduct)
yaparak görünümünüzü başlatılıyor çünkü nedenidir
public void removeProduct(View v) {
Integer position = (Integer) v.getTag();
Product p1 = (Product) adapter.getItem(position);
Toast toast = Toast.makeText(this,"You want to remove the item: "+ position +" with the product name: "+ p1.getProductName() + " , quantity: "+ p1.getProductQuantity()
+ " , price: " + p1.getProductPrice(),Toast.LENGTH_LONG); toast.show();
}
ve bu artık Tıkladığınız aynı görünümüdür -
içinde geçirilen parametredir: Bunu deneyebilirsiniz: Tamsayı konumu = (Tamsayı) v.getTag(); – ARP
işe yarıyor ama anlamadım, açıklayabilir misiniz? ... yoldan teşekkürler – pMpC
Eğer findViewById yaptığınızda her zaman aynı nesneden etiket alıyorsanız, "v" – ARP