无法在片段内设置文本
Cannot setText inside a Fragment
我有一个简单的片段,其中包含 EditText、Button、TextView。将从用户那里获取一个简单的字符串,并在单击 Button 时更新 TextView。
但这对我不起作用,我的 TextView 不知何故消失了。但是如果我不从用户那里获取字符串并预先定义它,TextView 确实会改变。
我的代码,
class First_Fragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_first_, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val text=editTextNumber.text.toString() //user input
button.setOnClickListener {
textView.text=text
}
}
}
通过在 onViewCreated
期间捕获 editTextNumber.text.toString()
,您将在 onViewCreated
中检索 EditText
中的文本,该文本为空。
所以您应该在单击按钮时检索值,正如您提到的那样。
我有一个简单的片段,其中包含 EditText、Button、TextView。将从用户那里获取一个简单的字符串,并在单击 Button 时更新 TextView。 但这对我不起作用,我的 TextView 不知何故消失了。但是如果我不从用户那里获取字符串并预先定义它,TextView 确实会改变。
我的代码,
class First_Fragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_first_, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val text=editTextNumber.text.toString() //user input
button.setOnClickListener {
textView.text=text
}
}
}
通过在 onViewCreated
期间捕获 editTextNumber.text.toString()
,您将在 onViewCreated
中检索 EditText
中的文本,该文本为空。
所以您应该在单击按钮时检索值,正如您提到的那样。