我有一個地方它的每一個項目都是從一些ImageViews
和TextViews
, 我想,當我在specefic ImageView
點擊,一些代碼會被執行,應該在哪裏我把這個代碼組成的ListView它在onItemClick
方法?在一個ListView項的子點擊
public class EspaceClientUplodedProducts extends Activity implements OnItemClickListener{
List<Produit> lesProduits= new ArrayList<Produit>();
ListView lvListe;
ProductsDataSource produitSource;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.espaceclientuploads);
produitSource=new ProductsDataSource(this);
produitSource.open();
lesProduits=produitSource.getAllUploads();
lvListe= (ListView)findViewById(R.id.UploadListView);
UploadedAdapter adapter = new UploadedAdapter(this, lesProduits);
lvListe.setAdapter(adapter);
lvListe.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
}
@Override
protected void onPause() {
produitSource.close();
super.onPause();
}
的getView代碼:
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView==null)
{
holder=new ViewHolder();
convertView = inflater.inflate(R.layout.espaceclientuploadsource, null);
holder.nomduProduit = (TextView)convertView.findViewById(R.id.UploadedProductName);
holder.prixDuProduit = (TextView)convertView.findViewById(R.id.UplodedProductPrice);
holder.imageDuProduit = (ImageView)convertView.findViewById(R.id.Uplodimage);
holder.status = (ImageView)convertView.findViewById(R.id.UploadedStatus);
holder.delete=(ImageView)convertView.findViewById(R.id.ImageViewDelete);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
Bitmap bitmapImage = BitmapFactory.decodeFile(path+File.separator+lesProduits.get(position).getImage());
Drawable drawableImage = new BitmapDrawable(bitmapImage);
holder.imageDuProduit.setImageDrawable(drawableImage);
holder.nomduProduit.setText(lesProduits.get(position).getNomDuProduit());
holder.prixDuProduit.setText(lesProduits.get(position).getPrixDuProduit());
holder.delete.setImageResource(R.drawable.delete);
switch (lesProduits.get(position).getStatus())
{
case 3://annonce Accepté
holder.status.setImageResource(R.drawable.accepte);
break;
case 2://annonce en Attente
holder.status.setImageResource(R.drawable.enattente);
break;
case 1://annonce refusé
holder.status.setImageResource(R.drawable.refuse);
break;
case 0://produit vendu
holder.status.setImageResource(R.drawable.vendu);
break;
}
return convertView;
}
檢查此答案:http://stackoverflow.com/questions/2468100/android-listview-click-howto 當你得到你的對象,你可以檢查位置或其他東西,做你想要的 – edoardotognoni
我得到了'Md Abdul gafur'同樣的答案,但這不是我要找的,我有一個代碼,我希望它被執行,當我點擊該項目的specefic組件,就像當我點擊名爲'Delete '該項目應該被刪除。 –