2011-12-27 4 views
0

PageAdapterを使用しようとしています。私はpublic Object instantiateItem(View pager, int position)が廃止されたことを知りました。だから私は更新を試みているが、問題に遭遇した。新しい定義では、decerをpublic Object instantiateItem(ViewPager pager, int position)に変更します。これを実行すると、アプリがクラッシュしてデバイスにプッシュされます。instantiateItem(...)をオーバーライドするとコンパイルされません。

ここに私の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

私は何をすべきか分かりません。どんなアドバイスも大歓迎です!

全体のコードはここで見つけることができます:それはあなたがそれを上書きしたいのでPagerAdapter.instantiateItemでhttp://pastebin.com/da5Kqcmg

答えて

1

ランタイムコードは()例外をスローしています。したがって、例外をスローしているメソッドをオーバーライドしていることを確認してください。おそらく、単にランタイムライブラリが期待しているものなので、廃止予定のメソッドをオーバーライドするようにコードを戻したいと思うでしょう。

古いランタイムを実行している可能性はありますか?

+0

問題を修正したようです。私は互換性ライブラリ(オブジェクトを定義する)の最新バージョンを使用しています。それはあなたが意味することですか? – Ethan

+0

ええ、私はAndriodのものについて全く何も知らない。私はJavaのものとパターンについて知っているだけです。だから私は彼らがなぜメソッドを非推奨にしたのか分からないが、それでもそれを使う必要がある。おそらくどこかのバグでしょう。 –

+0

よろしくお願いします。 – Ethan

関連する問題