【发布时间】: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