首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kotlin错误: Dagger不支持向私有字段注入

Kotlin错误: Dagger不支持向私有字段注入
EN

Stack Overflow用户
提问于 2017-11-08 19:03:10
回答 12查看 34.1K关注 0票数 65

我在kotlin活动中使用ViewPager,我想在Kotlin片段中使用匕首注入。我有错误:匕首不支持注入私有字段。在Java片段中,匕首注入工作。为什么我不能在科林农场注射匕首?

在我的kotlin活动中

代码语言:javascript
运行
复制
mPagerAdapter = object : FragmentPagerAdapter(supportFragmentManager) {

        private val mFragments = arrayOf(KotlinFragment(), JavaFragment())
        private val mFragmentNames = arrayOf(getString(R.string.cashdocuments), getString(R.string.action_absmysql))

        override fun getItem(position: Int): Fragment {
            return mFragments[position]
        }

        override fun getCount(): Int {
            return mFragments.size
        }

        override fun getPageTitle(position: Int): CharSequence {
            return mFragmentNames[position]
        }
    }

我的kotlin片段

代码语言:javascript
运行
复制
class KotlinFragment : Fragment()  {


@Inject
internal var mSharedPreferences: SharedPreferences? = null

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    (activity.application as SamfantozziApp).dgaeacomponent().inject(this)

}

override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?,
                          savedInstanceState: Bundle?): View? {
    super.onCreateView(inflater, container, savedInstanceState)
    val rootView = inflater!!.inflate(R.layout.activity_absserver, container, false)

    return rootView
}

}

消息级构建

EN

Stack Overflow用户

发布于 2018-11-15 12:20:37

代码语言:javascript
运行
复制
@Inject
lateinit var mSharedPreferences: SharedPreferences

同样,这对我也适用于后期初始化变量。

票数 11
EN
查看全部 12 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47187657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档