【问题标题】:How to define onClick handler method in XML for dialog buttons using FragmentActivity?如何在 XML 中为使用 FragmentActivity 的对话框按钮定义 onClick 处理程序方法?
【发布时间】:2014-01-30 13:20:22
【问题描述】:

我正在尝试在 XML 布局中为 Dialog 中的按钮定义 onClick 处理程序方法,但是由于 NoSuchMethodException(它找不到方法),当单击按钮时应用程序崩溃.方法签名是public void searchMovies(View),我可以保证它在 XML 文件和代码中的拼写一致。这个similar question 提供了一个解决方案,将方法放入Dialog 所属的 Activity 中,但这对我不起作用。

但是,我正在使用 FragmentActivity 和 FragmentStatePagerAdapter,所以也许这就是它对我不起作用的原因?我已经尝试将该方法放入 FragmentActivity、FragmentStatePagerAdapter、Fragment 以及处理启动对话框的匿名 OnClickListener 类中。他们都没有工作,都给出 NoSuchMethodException 错误。同样,我可以保证该方法的拼写正确/一致。

我知道我可以通过编程方式执行此操作,但如果我可以通过其他方式执行此操作会更方便。可能吗?谢谢。

【问题讨论】:

  • 如果我没有误解你,在我看来,实现它的最好方法是继承Dialog/DialogFragment 并添加你的子类的方法。我假设具有 onClick 属性的布局是您的对话框的自定义视图。
  • "我假设布局..." => 是的,没错。我会给你的建议。
  • 将该方法添加到我的新 Dialog 子类中不起作用。但是,将方法添加到 FragmentActivity 以及使用 Dialog 子类是有效的。这实际上是我的问题中引用的另一个问题中列出的整个解决方案。我只是没有正确实施它。无论如何,这就是要走的路。感谢@blackbelt 的帮助

标签: android android-fragments android-xml android-fragmentactivity android-dialog


【解决方案1】:

正如我在上面的 cmets 中所说,this 是解决方案(我想这是重复的,但我认为它仍然可能对寻找解决方案的人有用。我不介意有人觉得应该删除它)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    相关资源
    最近更新 更多