Подтвердить что ты не робот

можно ли вызвать startActivityForResult из адаптера?

возможно ли иметь метод onActivityResume внутри adapter & call startActivityForResult?

4b9b3361

Ответ 1

Да. Просто передайте контекст активности адаптеру в конструкторе адаптера (здесь хранится как mContext). В getView просто позвоните

((Activity) mContext).startActivityForResult(intent,REQUEST_FOR_ACTIVITY_CODE);

Ответ 2

Не обязательно переходить в контекст передачи в конструкторе адаптера. Вы можете получить контекст из родительской ViewGroup. Образец для адаптера RecyclerView:

 Context mContext;
 @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        mContext = parent.getContext();
        ...
    }

Образец для базового адаптера ListView

 Context mContext;
 @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        mContext = parent.getContext();
        ...
}

И используйте его везде, где хотите.

((Activity) mContext).startActivityForResult(intent, REQUEST_FOR_ACTIVITY_CODE);