В контексте класса baseAdapter


Есть ли способ получить context в классе BaseAdapter с getApplicationContext()?

Мне это нужно, потому что я собираюсь загружать изображения из url. Здесь я использую context:

Это в классе, который расширяет BaseAdapter

ImageLoader imgLoader = new ImageLoader(getApplicationContext());
2 2

2 ответа:

Передайте его в конструктор при расширении / реализации:

public class MyAdapter extends SomeBaseAdapter{
  private final Context mcontext;

  public MyAdapter(Context c){
    mContext = c;
  }

}

Вы можете либо передать ссылку на контекст в конструкторе адаптеров и сохранить его, либо вы можете напрямую ссылаться на него из родительского метода в методе getView()

public class ToDoListAdapter extends BaseAdapter {
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     //inflate layout
    }
}