Лучший способ избавиться от этой проблемы - запустить действие с родительского действия адаптера.Либо используйте объект контекста, либо используйте интерфейс, передавайте их в качестве параметра конструктору адаптера.Вызовите метод в вашей деятельности, используя переданную ссылку.Вот пример:
Создайте интерфейс:
public interface ActivityInteractor{
public void showDetails();
}
Позвольте вашей активности его реализовать:
public class MyActivity extends Activity implements ActivityInteractor{
public void showDetails(){
//do stuff
}
}
Затем передайте свою активность ListAdater:
public MyAdapter расширяет BaseAdater {private ActivityInteractor слушатель;
public MyAdapter(ActivityInteractor listener){
this.listener = listener;
}
} И где-то в адаптере, когда вам нужно вызвать этот метод Activity:
listener.showDetails();