Kotlinクラスにインジェクトするたびに、ビルドでこのメモが表示されます(ところで、kotlinとjavaの両方が混在するAndroidプロジェクトがあります)。
たとえば、このGradleタスクの後compileStagingDebugJavaWithJavac
(StagingDebugは私のビルドバリアントです)、次のメッセージが表示されます。
「注:com.packageNameXXX.CourseDiscoveryMapFragmentのMembersInjectorまたはFactoryを生成しています。代わりに、そのクラスに対して短剣プロセッサを実行することをお勧めします。」
私のCourseDiscoveryMapFragmentコードはここにあります:
class CourseDiscoveryMapFragment : Fragment(){
@Inject
lateinit var presenter: CourseDiscoveryMapPresenter
lateinit var mapView: MapView
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_discovery_map, container, false)
MapsInitializer.initialize(activity)
mapView = view.mapView
mapView.onCreate(savedInstanceState?.getBundle(BUNDLE_KEY_MAP_STATE))
(activity as BaseActivity)
.activityComponent.inject(this)
}
そして私のActivityComponentは:
@ActivityScope
@Subcomponent(modules = ActivityModule.class)
public interface ActivityComponent {
void inject(BaseActivity baseActivity);
void inject(CourseDiscoveryMapFragment fragment);
//Exposed to sub-graphs.
Activity activity();
}
したがって、私はJavaで記述された短剣コンポーネントとモジュールを使用していますが、Kotlinでは短剣インジェクションを使用しています。
気になることはありますか?
ありがとうございました。
エラー/警告全体とそれに関連するコードを投稿できますか?
—
marcospereira 2016年
質問にはさらに詳細が必要です。あなたは基本的にグーグルクエリを質問として書きました。
—
Jayson Minard、2016年
@marcospereira再編集!ありがとう!
—
ファビオ・カルバリョ
ねえ、あなたは解決策を見つけましたか、多分その警告の理由はありましたか?
—
wojciech_maciejewski