java - 覆盖 instantiateItem(...) 不会编译

标签 java android

我正在尝试使用 PageAdapter。我发现 public Object instantiateItem( View pager, int position ) 已被弃用。所以我正在尝试更新但遇到了问题。新定义将减速更改为 public Object instantiateItem( ViewPager pager, int position ),当我这样做并将其推送到我的设备时,应用程序崩溃了。

这是我的 logcat 输出。

12-26 19:24:30.701: ERROR/AndroidRuntime(25431): FATAL EXCEPTION: main java.lang.UnsupportedOperationException: Required method instantiateItem was not overridden at android.support.v4.view.PagerAdapter.instantiateItem(PagerAdapter.java:175) at android.support.v4.view.PagerAdapter.instantiateItem(PagerAdapter.java:110) at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:649) at android.support.v4.view.ViewPager.populate(ViewPager.java:783) at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1016)

所以我将 @Override 添加到方法调用中,但是当我使用 maven 编译它时,我得到了与我的方法对应的以下输出。

Chronos/ChronosApp/src/com/kopysoft/chronos/view/ClockViewer.java:[67,4] error: method does not override or implement a method from a supertype

我不知道该怎么办。任何建议将不胜感激!

完整的代码可以在这里找到:http://pastebin.com/da5Kqcmg

最佳答案

PagerAdapter.instantiateItem() 中的运行时代码抛出异常,因为它希望您覆盖它。因此,请确保您重写了抛出异常的方法。您可能只想将代码切换回覆盖已弃用的方法,因为这是您的运行时库所期望的。

是否有可能您正在使用较旧的运行时?

关于java - 覆盖 instantiateItem(...) 不会编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8640209/

相关文章:

java - 我可以定义扩展接口(interface)的 ArrayLists 和其他数据结构吗?

javascript - 是否可以从粘贴在文本区域的 html 页面中找到此类标签​​,并将其标签替换为 javascript 代码中提到的其他标签?

android - 在 ActionBarSherlock 中使用自定义布局构建 ActionMode

android - ADB 无法识别设备

java - 必须从 UI 线程调用 getText() 方法

android - 发送 FCM 消息时条件否定

java - 使用 selenium webdriver 获取占位符文本颜色

javascript - Java/Spring : Form validation to avoid URLs as input

java - 从文件到文件程序的写入

android - react 导航 : StackNavigator transition for Android