覆盖instantiateItem(...)将无法编译

时间:2011-12-27 00:41:06

标签: 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):致命异常:主要           java.lang.UnsupportedOperationException:未覆盖必需的方法instantiateItem           在android.support.v4.view.PagerAdapter.instantiateItem(PagerAdapter.java:175)           在android.support.v4.view.PagerAdapter.instantiateItem(PagerAdapter.java:110)           在android.support.v4.view.ViewPager.addNewItem(ViewPager.java:649)           在android.support.v4.view.ViewPager.populate(ViewPager.java:783)           在android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1016)

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

  

Chronos / ChronosApp / src / com / kopysoft / chronos / view / ClockViewer.java:[67,4]错误:方法不会覆盖或实现超类型的方法

我无所适从。任何建议将不胜感激!

可在此处找到整个代码:http://pastebin.com/da5Kqcmg

1 个答案:

答案 0 :(得分:1)

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

你可能有一个运行较旧的运行时?

相关问题