Bootstrap

Kotlin Extensions在Fragment 找不到控件

Activity 中使用没有问题,但是在Fragment中却有问题。

解决方法:

在onCreateView 以后的生命周期中调用,即:onViewCreate

分析:

Activity  Code:

因为Activity实在ContentView初始化后(setContentView)调用的,所以没有问题,而Fragment是在初始化前调用,所以Extensions找不到控件

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main_activity)
    tv_title.setText("这是标题")
}

Fragment Code:

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    mContentView = inflater.inflate(getLayoutId(), null)
    tv_title.setText("这是标题")
    return mContentView
}

 

 

 

;