Как получить контекст для BaseAdapter в Android

У меня есть класс с именем BinderData, который расширяет BaseAdapter. Я хочу получить контекст базового класса. Я пытался использовать getContext(), но это не работает в случае BaseAdapter.

Как я могу получить контекст этого класса?

Ответ 1

Еще одно решение -

Если у вас есть родительский элемент, вы можете напрямую обращаться к контексту, например so-

 public class SampleAdapter extends BaseAdapter {

            LayoutInflater inflater;

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                if(inflater == null){
                Context context = parent.getContext();
                inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                }
                ...
                ...

                return convertView;
            }

    }

Ответ 2

Создайте конструктор, который принимает Context как один из своих аргументов и сохраняет его в частной переменной.

public class SampleAdapter extends BaseAdapter {
    private Context context;

    public SampleAdapter(Context context) {
        this.context = context;
    }

    /* ... other methods ... */
}

Ответ 3

Context context = parent.getContext();