title: I can't Inject my class in to my ViewHolder with Dagger2
body: <p>I maked a PictureDownloader to download images and set into my viewHolder. So I want to Inject one instance of PictureDownloader in that viewHolder, but it is always null and I can't find my mistake with the injection. What I have to do more? I need another Module? I have to inject this ViewHolder?</p>
  
  <p>Here I bring all these classes:</p>
  
  <p>AppComponent:</p>
  
  <pre><code>@Singleton
  @Component(modules = {ActivityBindingModule.class,
      AppModule.class,
      PictureDownloaderModule.class,
      AndroidSupportInjectionModule.class})
  public interface AppComponent extends AndroidInjector&lt;MarvelApplication&gt; {
      PictureDownloader getPictureDownloader();
  
      @Component.Builder
      interface Builder {
          @BindsInstance
          AppComponent.Builder application(Application application);
          AppComponent build();
      }
  }
  </code></pre>
  
  <p>PictureDonwloaderModule:</p>
  
  <pre><code>@Module
  public class PictureDownloaderModule {
      @Provides
      @Singleton
      CacheImageHandler providesCacheImageHandler(Context context) {
          return new CacheImageHandler(context);
      }
  
      @Singleton
      PictureDownloader providesPictureDownloader(CacheImageHandler cacheImageHandler) {
          return new PictureDownloader(cacheImageHandler);
      }
  }
  </code></pre>
  
  <p>PictureDownloader:</p>
  
  <pre><code>@Singleton
  public class PictureDownloader {
  
      private CacheImageHandler mCacheHandler;
  
      @Inject
      public PictureDownloader(CacheImageHandler cacheHandler) {
          this.mCacheHandler = cacheHandler;
      }
  
      public void download(String url, ImageView imageView) {
          if (url == null) {
              return;
          }
          if (imageView == null) {
              return;
          }
  
          // resetPurgeTimer();
          Bitmap bitmap = mCacheHandler.getBitmapFromCache(url);
  
  ....
  </code></pre>
  
  <p>CacheImageHandler:</p>
  
  <pre><code>@Singleton
  public class CacheImageHandler {
  
      private Context mContext;
      private SoftImageCache mSoftCache;
  
      @Inject
      public CacheImageHandler(Context context) {
          mContext = context;
          int memClass = ( (ActivityManager) mContext.getSystemService( Context.ACTIVITY_SERVICE ) ).getMemoryClass();
          int cacheSize = 1024 * 1024 * memClass;
          mSoftCache = new SoftImageCache(cacheSize);
      }
  
      // Save Bitmap to CacheDir and save it on softCache
      public void saveBitmapToCache(String key, Bitmap bitmap) {
          if (bitmap != null) {
  
  ...
  </code></pre>
  
  <p>HomeListViewHolder:</p>
  
  <pre><code>public class HomeListViewHolder extends RecyclerView.ViewHolder {
  
      @Inject
      PictureDownloader mPictureDownloader;
  
      @BindView(R.id.image_character)
      ImageView mImageView;
  
      private View mItemView;
      private HomeListListener mListener;
  
      public HomeListViewHolder(View itemView, final HomeListListener listener) {
          super(itemView);
          ButterKnife.bind(this, itemView);
          this.mItemView = itemView;
          this.mListener = listener;
      }
  
      public void bindModel(final CharacterModel character) {
          mPictureDownloader.download(
              "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/",
              mImageView);
  
          mItemView.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                  if (mListener != null) {
                      mListener.onCharacterClick(character);
                  }
              }
          });
      }
  </code></pre>
  
  <p>MyApplication:</p>
  
  <pre><code>public class MarvelApplication extends DaggerApplication {
  
      @Inject
      PictureDownloader mPictureDownloader;
  
      @Override
      protected AndroidInjector&lt;? extends DaggerApplication&gt; applicationInjector() {
          return DaggerAppComponent.builder().application(this).build();
      }
  
      public PictureDownloader getPictureDownloader(){
          return mPictureDownloader;
      }
  }
  </code></pre>