我什么时候可以在AlertView中编辑视图

卢卡斯的学生:

我想用我的自定义对话框生成器创建一个通用的AlertView对话框。我的对话框应该有一些TextViews和Buttons,只有在设置了较早的文本时才应显示它们。我的问题是,在找不到NullPointerException的情况下,我找不到可以安全访问这些视图的任何地方。

这是我的DialogBu​​ilder类

class DialogBuilder : DialogFragment() {

...

override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
        val builder = AlertDialog.Builder(activity)
        val inflater = activity?.layoutInflater
        val view = inflater?.inflate(R.layout.dialog_builder_fragment, null)
        builder.setView(view)
        val dialog = builder.create()
        fillViews()
        initListeners()
        return dialog
    }

...

private fun fillViews() {
        if (headline.isNotBlank()) {
            headline_text_view.text = headline
            headline_text_view.visibility = View.VISIBLE
        }
        ...
}

当我想要设置标题文本时,在fillViews中抛出异常。我尝试了onViewCreated(),onStart()...,但是似乎没有任何效果。我该如何实施?

Bacho Kurtanidze:

假设您的headLine和headline_text_view在dialog_builder_fragment内部。您应该将view作为fillViews函数参数传递,然后像这样调用您的textviews。

override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
    val builder = AlertDialog.Builder(activity)
    val inflater = activity?.layoutInflater
    val view = inflater?.inflate(R.layout.dialog_builder_fragment, null)
    builder.setView(view)
    val dialog = builder.create()
    fillViews(view)
    initListeners()
    return dialog
}

...

private fun fillViews(view: View) {
    if (view.headline.isNotBlank()) {
        view.headline_text_view.text = headline
        view.headline_text_view.visibility = View.VISIBLE
    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

什么时候组件可以在反应中编辑属性?

什么时候可以在RecyclerView中获得视图的宽度?

什么时候可以自我==无

我什么时候可以摘樱桃

什么时候可以审核我的申请?

什么时候可以在可执行二进制文件中编辑字符串?

我什么时候可以取消持久化我的 RDD?

我什么时候可以在JavaScript中的变量名之前使用var?

我可以知道什么时候取消 StreamSubscription 吗?

我什么时候可以全部获得iAd付款?

我什么时候可以检查是否给出了“@Input()”?

什么时候可以考虑我对dragonallySetInnerHTML()的使用安全?

我什么时候可以使用Whatever star?

我可以忽略  什么时候获取数据的变量?

什么时候应该同步,什么时候应该在Android Studio中构建/重建项目,我可以使其自动化?

什么时候可以省略Kotlin中的返回类型

什么时候可以省略宏中参数周围的括号?

什么时候可以在函数调用中更改变量?

会话中的OOP对象,什么时候不可以?

我们什么时候使用Element?我们什么时候使用Helper?我们什么时候使用View Cells?在CakePHP 3中

我什么时候应该在StratifiedKFold中洗牌

我的VirtualBox中的VM是什么时候创建的?

在 Swift 中,我什么时候会使用“while let”?

我什么时候应该把 state 放在 parent 中?

变异触发器,什么时候可以从触发器表中读取,什么时候不可以?

什么时候从UITableViewCell删除子视图?

我什么时候可以在从 Java 源代码编译的 .class 文件中获得 pop2 操作码?

我什么时候不能在Wordpress的主题编辑器上更新文件?

什么时候可以调用getMeasuredWidth()