从 tab 内的 edittext 检索文本到 main activity

Retrieve text from edittext within tab to main activity

我有一个 activity 的选项卡式布局,其中包含多个不同的选项卡。每个选项卡包含多个 'edittext' 字段。我在主 activity 上有一个按钮,单击它我想保存每个选项卡中每个 edittext 字段的内容。目前我可以 return 从选项卡中获取普通值,但我无法获取 edittext 字段的内容。

我尝试在 class 片段中为选项卡创建 'lateinit var frag1_tenNo : EditText'。我已经在 onCreateView 中初始化了它,但是程序崩溃说 'lateinit property frag1_tenNo has not been initialized'

片段代码


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
    }

activity 代码 - 检索数据

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 错误。