square / dagger

A fast dependency injector for Android and Java.
https://square.github.io/dagger/
Apache License 2.0
7.31k stars 3.06k forks source link

Android Context #555

Closed kingning1 closed 6 years ago

kingning1 commented 6 years ago

基础activity是这样写的

public class BaseActivity extends AppCompatActivity { @Override public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) { AndroidInjection.inject(this); super.onCreate(savedInstanceState, persistentState); } }

component是这样的 ` @Module(subcomponents = ContentActivityComponent.class) public abstract class ContentActivityModule {

@Binds
@IntoMap
@ActivityKey(ContentActivity.class)
abstract AndroidInjector.Factory<? extends Activity> bind(ContentActivityComponent.Builder builder);

@Provides
public static RetrofitUtil retrofitUtil() {
    return new RetrofitUtil();
}

@Provides
public static Webservice webservice() {
    return retrofitUtil().getRetrofit().create(Webservice.class);
}

}`

我要在这个module中添加 @Provides @Singleton public LayoutInflater inflater() { return LayoutInflater.from(context); }

我不知道这个context怎么获取了

build.gradle def daggerVersion = '2.12' /依赖注入/ compile "com.google.dagger:dagger:$daggerVersion" annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion" compile "com.google.dagger:dagger-android:$daggerVersion" compile "com.google.dagger:dagger-android-support:$daggerVersion" // if you use the support libraries annotationProcessor "com.google.dagger:dagger-android-processor:$daggerVersion"

能帮我想想办法吗?

JakeWharton commented 6 years ago

You want Google/Dagger not square/dagger