我有一个带有标签布局的活动,其中包含多个不同的标签。每个选项卡都包含许多“edittext”字段。我在主活动上有一个按钮,点击它我想从每个标签中保存每个edittext字段的内容。目前我可以从选项卡返回一个普通值,但我无法获取edittext字段的内容。
我尝试在片段类中为选项卡创建'lateinit var frag1_tenNo:EditText'。我已经在onCreateView中初始化了它,但程序崩溃说'lateinit属性frag1_tenNo尚未初始化'
片段代码
class frag1: Fragment() {
lateinit var frag1_tenNo : EditText
override public fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val viewFrag1 = inflater.inflate(R.layout.frag1, container, false)
frag1_tenNo = viewFrag1.findViewById(R.id.survey_tenantNo)
return viewFrag1
}
fun saveFrag1Data(): String {
var data1 = frag1_tenNo.text.toString()
return data1
}
活动代码 - 检索数据
save_btn.setOnClickListener {
Log.d("Survey","Change Button Clicked")
val test = frag1().saveFrag1Data()
Log.d("Survey","Returned value : $test")
}
val test = frag1().saveFrag1Data()
在这里创建一个新片段。此片段的OnCreate
方法尚未调用。所以很可以预见到你会得到lateinit property frag1_tenNo has not been initialized
错误。