从标签内的edittext检索文本到主要活动

时间:2019-04-09 08:48:30

标签: kotlin android-tabbed-activity

我有一个活动,其中的选项卡式布局包含多个不同的选项卡。每个选项卡都包含许多“ 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")
        }

1 个答案:

答案 0 :(得分:0)

val test = frag1().saveFrag1Data() 在这里创建一个新片段。此片段的OnCreate方法尚未调用。因此,可以预见的是,您会收到lateinit property frag1_tenNo has not been initialized错误。