Android Dagger2 field not injected

Hassan

So basicly am trying to use dagger to inject a Baz field into class Foo, it goes like this

Baz.java

public class Baz { 

}

Foo.java

public class Foo {
   @Inject Baz baz;
}

but nothing gets injected and baz still null when i run it, i even tried to write the Baz empty constructor and annotate it with @Inject but it doesn't work either

how dagger work is it able to see all my classes so when i request a class instance he can create one, or am i missing some annotation, or even worse my annotation processor not working. i added those dependencies to my app.gradle

implementation 'com.google.dagger:dagger:2.14.1'
annotationProcessor 'com.google.dagger:dagger-compiler:2.14.1'
Zuluft

If you want to inject something somewhere using Dagger2, it's essential to have a component, also you need a place, where you want to have Foo object (which has a Baz object itself). In addition to this, you should specify the way, how objects should be created by dagger2. In your case constructor injection is absolutely OK.

Let's assume, that our component is TestComponent and the place, where we want to have Foo object is MainActivity, then the code would be something like this:

Baz.java

public class Baz {

    @Inject
    public Baz() {
    }
}

Foo.java

public class Foo {

    @Inject
    Baz baz;

    @Inject
    public Foo() {
    }
}

TestComponent.java

@Component
public interface TestComponent {

    void inject(MainActivity injector);
}

(When you create component, rebuild the project)

MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Inject
    Foo foo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        DaggerTestComponent.builder().build().inject(this);
    }
}

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Dagger not initializing injected field in Android

From Dev

Value injected with dagger is null

From Dev

Dagger2 - null instead of injected object

From Dev

Transferring CDI qualifier to injected field

From Dev

Dagger2 generated class is all of a sudden missing from Android Studio

From Dev

Android Dagger 2 POJO field Inject null

From Dev

Android Dagger 2 Dependency not being injected

From Dev

Dagger 2 on Android @Singleton annotated class not being injected

From Dev

How can store all values to a class object injected from dagger2?

From Dev

How to override a field value injected by @Value in Spring?

From Dev

Android Dagger 2 and MVP injecting inside an injected object

From Dev

should presenters(mvP) be injected(dagger2) to views in android?

From Dev

How to test with Dagger2 Dependency Injection & Robolectric in Android?

From Dev

Sci-Chart using Dagger2 for chart update in Android

From Dev

Unable to inject dependency in fragment using dagger2 in Java Android

From Dev

Mocking an injected field in unit tests

From Dev

How this field injected in github android?

From Dev

Dagger2 is not injecting field

From Dev

Android Dagger2 Usage error "depends on more than one scoped component"

From Dev

I don't know why the object injected by dagger2 is null in presenter

From Dev

Dagger2 sub injected item is null

From Dev

Dagger2 : Field Injection which also has injection field in it

From Dev

Dagger2 scopes and RepositoryPattern in Android

From Dev

android dagger2 inject error cannot cast

From Dev

Dagger2 can't inject field inside injected class

From Dev

Android Dagger2 Dependency Injection

From Dev

Android Dagger2, Singleton cross Component

From Dev

Android Dagger2

From Dev

Java - JMockit testing 2 injected classes with the same field names

Related Related

  1. 1

    Dagger not initializing injected field in Android

  2. 2

    Value injected with dagger is null

  3. 3

    Dagger2 - null instead of injected object

  4. 4

    Transferring CDI qualifier to injected field

  5. 5

    Dagger2 generated class is all of a sudden missing from Android Studio

  6. 6

    Android Dagger 2 POJO field Inject null

  7. 7

    Android Dagger 2 Dependency not being injected

  8. 8

    Dagger 2 on Android @Singleton annotated class not being injected

  9. 9

    How can store all values to a class object injected from dagger2?

  10. 10

    How to override a field value injected by @Value in Spring?

  11. 11

    Android Dagger 2 and MVP injecting inside an injected object

  12. 12

    should presenters(mvP) be injected(dagger2) to views in android?

  13. 13

    How to test with Dagger2 Dependency Injection & Robolectric in Android?

  14. 14

    Sci-Chart using Dagger2 for chart update in Android

  15. 15

    Unable to inject dependency in fragment using dagger2 in Java Android

  16. 16

    Mocking an injected field in unit tests

  17. 17

    How this field injected in github android?

  18. 18

    Dagger2 is not injecting field

  19. 19

    Android Dagger2 Usage error "depends on more than one scoped component"

  20. 20

    I don't know why the object injected by dagger2 is null in presenter

  21. 21

    Dagger2 sub injected item is null

  22. 22

    Dagger2 : Field Injection which also has injection field in it

  23. 23

    Dagger2 scopes and RepositoryPattern in Android

  24. 24

    android dagger2 inject error cannot cast

  25. 25

    Dagger2 can't inject field inside injected class

  26. 26

    Android Dagger2 Dependency Injection

  27. 27

    Android Dagger2, Singleton cross Component

  28. 28

    Android Dagger2

  29. 29

    Java - JMockit testing 2 injected classes with the same field names

HotTag

Archive