如何解决数据绑定设置的数据不显示在视图中
我是 @Override
public void onBackPressed() {
AlertDialog.Builder builder = new AlertDialog.Builder(BreathActivity.this);
ViewGroup viewGroup = findViewById(android.R.id.content);
View dialogView = LayoutInflater.from(BreathActivity.this).inflate(R.layout.dialog_signin,viewGroup,false);
builder.setView(dialogView);
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
的新手。
我用示例代码慢慢跟上,但是视图没有显示任何数据。
没有错误。
我还确认通过调试正确包含了数据。
但是 databinding
中没有设置数据。
Fragment.kt
xml
XML
class WritingRoutineFragment : Fragment() {
var titleData: ArrayList<String>? = null
var title: String? = null
private lateinit var binding: FragmentWritingRoutineBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.apply {
titleData = getStringArrayList("title")
title = titleData?.joinToString(" / ")
}
}
override fun onCreateView(inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?): View? {
// val view: View = inflater.inflate(R.layout.fragment_writing_routine,container,false)
binding = DataBindingUtil.inflate(inflater,R.layout.fragment_writing_routine,false)
val view = binding.root
return view
}
companion object {
@JvmStatic
fun newInstance(data: ArrayList<String>) =
WritingRoutineFragment().apply {
arguments = Bundle().apply {
putStringArrayList("title",data)
}
}
}
}
解决方法
您需要在 binding.data = this
初始化后的某处使用 binding
。 (例如:在onCreateView()
中)
this
是 WritingRoutineFragment
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。