Вам нужно удалить android: onClick = "onClick" из вашего XML, потому что ImageButton не знает, что это значит.Вот почему вы получаете NoSuchMethodException во время выполнения.
Вы также должны удалить метод findViewById, который возвращает null - это не вызовет ничего, кроме проблем.
Не реализуйте OnClickListener, этоне то, что вы хотите для этого.А затем избавьтесь от вашего метода onClick.Вместо этого вы должны определить новый OnClickListener для каждого ImageButton.Примерно так:
play.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Log.i("play","play button clicked");
}
});
Сделайте это для каждой кнопки Image, Play, Detail и Buy.Обратите внимание, что вы можете использовать любую переменную, которая определена как окончательная.
final Product product = (Product)getItem(position);
detail.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Log.i("detail", "clicked for product " + product.toString());
}
}
Надеюсь, это укажет вам правильное направление.