当我从 Activity 调用 Fragment 时,Edittext 值变为空
Editext Value Getting Null when I call from Activity to Fragment
Activity -> 片段
我的 Activity 上有一个按钮。我想从 Fragment 中的 Edittext 中获取值。当我从 Activity 调用时,我得到了 Editext 的空值。
MainActivity.kt代码
buttonOne?.setOnClickListener {
val frgment = MyFragment().getInstance()
frgment?.buttonClick()
}
MyFragment.kt代码
fun getInstance(): MyFragment? {
return MyFragment()
}
fun buttonClick(){
val value = et_fragment_first_name?.text.toString().trim()
Log.e("Fragment", "FirstName $value")
}
有人可以帮我吗?我不想使用 Listner
您刚才所做的是创建了一个新的片段实例,而不是获取当前活动片段的实例,这就是您得到空值的原因。您可以使用 FragmentManager 通过标签或 Id
获取片段
MyFragment myFragment = (MyFragment)getSupportFragmentManager().findFragmentByTag("MY_FRAGMENT");
Activity -> 片段
我的 Activity 上有一个按钮。我想从 Fragment 中的 Edittext 中获取值。当我从 Activity 调用时,我得到了 Editext 的空值。
MainActivity.kt代码
buttonOne?.setOnClickListener {
val frgment = MyFragment().getInstance()
frgment?.buttonClick()
}
MyFragment.kt代码
fun getInstance(): MyFragment? {
return MyFragment()
}
fun buttonClick(){
val value = et_fragment_first_name?.text.toString().trim()
Log.e("Fragment", "FirstName $value")
}
有人可以帮我吗?我不想使用 Listner
您刚才所做的是创建了一个新的片段实例,而不是获取当前活动片段的实例,这就是您得到空值的原因。您可以使用 FragmentManager 通过标签或 Id
获取片段MyFragment myFragment = (MyFragment)getSupportFragmentManager().findFragmentByTag("MY_FRAGMENT");