title: cannot be provided without an @Inject constructor or from an @Provides-annotated method
body: <p>I am using Android Dagger2 but I am getting the error below.</p>
  
  <p>My AppModule class is:</p>
  
  <pre><code>@Module
  public class AppModule {
      @Provides
      public DownloadFilePresenterImp provideDownloadfilePresenterImp(DownloadFileView downloadFileView) {
          return new DownloadFilePresenterImp(downloadFileView);
      }
  }
  </code></pre>
  
  <p>My AppComponent interface is:</p>
  
  <pre><code>@Singleton
  @Component(modules = AppModule.class)
  public interface AppComponent {
      void inject(DownloadFileView target);
  }
  </code></pre>
  
  <p>My DaggerInject class</p>
  
  <pre><code>public class DaggerInjector {
      private static AppComponent mAppComponent = DaggerAppComponent
              .builder()
              .appModule(new AppModule())
              .build();
  
      public static AppComponent getAppComponent() {
          return mAppComponent;
      }
  }
  </code></pre>
  
  <p>I am trying to inject into my Fragment (DownloadFileView)</p>
  
  <pre><code>@Inject DownloadFilePresenterImp mDownloadFilePresenterImp;
  
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
     final View view = inflater.inflate(R.layout.download_file_view, container, false);
     /* Initialize presenter */
     DaggerInjector.getAppComponent().inject(DownloadFileView.this);
  
  
     /* Use mDownloadFilePresenterImp here */       
     return view;
  }
  </code></pre>
  
  <p>And my DownloadFilePresenterImp constructor part</p>
  
  <pre><code>public class DownloadFilePresenterImp implements DownloadFilePresenterContact {
      public DownloadFilePresenterImp(DownloadFileView downloadFileView) {
          mDownloadFileContract = downloadFileView;
      }
  }
  </code></pre>
  
  <p>This is the error I am getting:</p>
  
  <pre><code>Error:(17, 10) error: com.sunsystem.downloadfilechatapp.downloader.DownloadFileView cannot be provided without an @Inject constructor or from an @Provides-annotated method. This type supports members injection but cannot be implicitly provided.
  com.sunsystem.downloadfilechatapp.downloader.DownloadFileView is injected at
  com.sunsystem.downloadfilechatapp.downloader.dagger.AppModule.provideDownloadfilePresenterImp(downloadFileView)
  com.sunsystem.downloadfilechatapp.downloader.DownloadFilePresenterImp is injected at
  com.sunsystem.downloadfilechatapp.downloader.DownloadFileView.mDownloadFilePresenterImp
  com.sunsystem.downloadfilechatapp.downloader.DownloadFileView is injected at
  com.sunsystem.downloadfilechatapp.downloader.dagger.AppComponent.inject(target)
  </code></pre>
  
  <p>Many thanks for any suggestions,</p>