当我尝试打开新的 activity this is = null when using dagger 2

When i try to open new activity this is = null when using dagger 2

这是我的 mvp 模块

@Module
public class LoginModule {

    @Provides
    public LoginPresenterImpl providePresenter(LoginView loginView , LoginInteractor loginInteractor) {

        return new LoginPresenterImpl(loginView,loginInteractor);
    }

    @Provides
    public LoginView loginView(){

        return new LoginActivity();
    }

    @Provides
    public LoginInteractor loginInteractor(Repository repository){

        return new LoginInteractorImpl(repository);
    }

    @Provides
    public Repository provideRepository(APIInterfaces.LoginInterface loginInterface){
        return new Repository(loginInterface,loginView());
    }

    @Provides
    public LoginPresenter loginPresenter(APIInterfaces.LoginInterface loginInterface){

        return providePresenter(loginView(),loginInteractor(provideRepository(loginInterface)));
    }
}

这是我的登录名activity

{
ProgressHUD progressHUD;
private LinearLayout main_layout;
private boolean flag = false;



private EditText email_edt, password_edt;
private ImageView login_btn;
private TextView sign_up_tv, forget_password_tv;
@Inject
public LoginPresenter loginPresenter;

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    //getWindow().setStatusBarColor(Color.TRANSPARENT);
    //        flag = getIntent().getBooleanExtra("from_splash", false);
    //        loginPresenter = new LoginPresenterImpl(this,new LoginInteractorImpl());

    MyApplication.getComponent().inject(this);

    setControls();


}   //  onCreate()

@Override
protected void onDestroy() {
    loginPresenter.onDestroy();
    super.onDestroy();
}

private void setControls() {
    main_layout =  findViewById(R.id.main_login_layout);
    email_edt =  findViewById(R.id.edt_txt_email);
    password_edt =  findViewById(R.id.edt_txt_password);
    sign_up_tv =  findViewById(R.id.sign_up_txt);
    forget_password_tv =  findViewById(R.id.forget_password_txt);
    login_btn =  findViewById(R.id.login_btn);

    login_btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            loginPresenter.validateEmailPassword(email_edt.getText().toString().trim(),password_edt.getText().toString().trim());
        }
    });

    sign_up_tv.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            loginPresenter.openRegistrationPage();
        }
    });

    forget_password_tv.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });

    if(flag)
        Logging.Snackbar(main_layout, getString(R.string.check_internet_msg));


}   //  setControls()

@Override
public void showProgress() {
    //progressHUD = ProgressHUD.show(LoginActivity.this, getString(R.string.loading_txt), false, null, null);
}

@Override
public void hideProgress() {
    //progressHUD.dismiss();
}

@Override
public void passwordError(int x) {

    switch (x)
    {
        case 0 :
            password_edt.setError(getString(R.string.password_length_error_msg));
            break;
        case 1 :
            password_edt.setError(getString(R.string.empty_field_error_msg));
            break;

    }
}

@Override
public void emailError(int y) {
    switch (y)
    {
        case 0 :
            email_edt.setError(getString(R.string.empty_field_error_msg));
            break;

        case 1 :
            email_edt.setError(getString(R.string.invalid_email_error_msg));
            break;
        case 2 :
            email_edt.setError(getString(R.string.invalid_email_error_msg));
            break;
    }

}

@Override
public void openRegistration() {
    Intent intent = new Intent(LoginActivity.this, RegistrationActivity.class);
    startActivity(intent);
    finish();
}

@Override
public void forgetPassword() {

}

@Override
public void navigateToHome(Response<LoginResponse> response) {

    if (response.body().getError() == 0 && response.body().getMessage().equalsIgnoreCase("Login Success"))
    {

        UserData userData = new UserData();

       Intent intent = new Intent(this,MainPageActivity.class);

        userData = response.body().getData();
        intent.putExtra("UserData",userData);

        startActivity(intent);
        finish();
    }
    else
    {
        Logging.Toast(this,response.body().getMessage());
    }

}

@Override
public void onError() {

    Logging.Toast(this,"Check Your Internet Connection");
}
}

when i try to navigate to home activity LoginActivity.this is return null how to solve this. this is the error that i get java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference at android.content.ContextWrapper.getPackageName(ContextWrapper.java:141)

I Solved the problem by edit the MVP Module Like this

@Module

public class 登录模块 {

private LoginView loginView;

public LoginModule(LoginView loginView) {
    this.loginView = loginView;
}


@ActivityScope
@Provides
public LoginPresenterImpl providePresenter(LoginView loginView , LoginInteractor loginInteractor) {

    return new LoginPresenterImpl(loginView,loginInteractor);
}

@ActivityScope
@Provides
public LoginView loginView(){
    return loginView;
}


@ActivityScope
@Provides
public LoginInteractor loginInteractor(Repository repository){

    return new LoginInteractorImpl(repository);
}


@ActivityScope
@Provides
public Repository provideRepository(APIInterfaces.LoginInterface loginInterface,APIInterfaces.getEventsInterface getEventsInterface){
    return new Repository(loginInterface,getEventsInterface);
}


@ActivityScope
@Provides
public LoginPresenter loginPresenter(APIInterfaces.LoginInterface loginInterface,APIInterfaces.getEventsInterface getEventsInterface){
    return providePresenter(loginView(),loginInteractor(provideRepository(loginInterface,getEventsInterface)));
}

}

and create activity scope for it