Вы можете сделать это тремя различными способами, как показано ниже.
Метод 1: Инициализировать ваш контекст в конструкторе, который вы можете создать, как показано ниже:
Context mContext;
List<Product> products
public ProductAdapter(Context mContext, List<Product> products) {
super(context, 0, products);
this.mContext = mContext;
this.products = products;
}
И затем этоконтекст, который вы используете в своем коде.
Метод - 2: Создайте свой собственный слушатель в своем адаптере и используйте его, как показано ниже:
// Ваш интерфейс в адаптере
private onItemViewClickListener itemViewClickListener;
// Ваш пользовательский интерфейс определяет
public interface onItemViewClickListener{
void onClick(View view, int position, Object object)
}
// Метод установки для вашего интерфейса
public void setItemViewClickListener(onItemViewClickListener itemViewClickListener) {
this.itemViewClickListener = itemViewClickListener;
}
// Событие просмотра при просмотре, где вы должны установить значение, как показано ниже:
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (itemViewClickListener != null){
itemViewClickListener.onClick(v, position, object);
}
}
});
Напишите код выше в своем адаптере и код ниже в своей деятельности или фрагмент, где вы используете свой адаптер, например, если вы используете этот адаптер в своей деятельности, вы можете использовать его ниже двумя способами.
TestAdapter adapter = new TestAdapter();
adapter.setItemViewClickListener(new TestAdapter.onItemViewClickListener() {
@Override
public void onClick(View view, int position, Object object) {
//Here your logic
}
});
Или, если вы реализуете интерфейс адаптера в своем классе активности, вам придется использовать приведенный ниже код, и ваш метод щелчка будет переопределен после реализации в классе, где вы можете написать свою логику:
TestAdapter adapter = new TestAdapter();
adapter.setItemViewClickListener(this);