私はViewTreeObserver#removeOnGlobalLayoutListener(...)
を使用して正常にコンパイルするコードを持っています。実行すると、このメソッドはNoSuchMethodError
をスローします。どうして?removeOnGlobalLayoutListenerがNoSuchMethodErrorをスローするのはなぜですか?
答えて
の2つのメソッドがほぼ同じ名前のViewTreeObserver
にあります。
removeOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListener victim)
(その後にグローバル)がAPIに加えた方法である16.それは有する
removeGlobalOnLayoutListener(ViewTreeObserver.OnGlobalLayoutListener victim)
(グローバルに次に)を置き換えますAPI 1から存在していましたが、廃止予定です。
両方のメソッドがコンパイル時に表示されることがあります(Jellybean以上でビルドしている場合)が、新しいメソッドはJellybean以前のデバイスでは失敗します。
このコードは、エラーを阻止し:
try {
thing.removeOnGlobalLayoutListener(victim);
} catch (NoSuchMethodError x) {
thing.removeGlobalOnLayoutListener(victim);
}
ので、このコードではありません:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
thing.removeGlobalOnLayoutListener(victim);
} else {
thing.removeOnGlobalLayoutListener(victim);
}
ありがとうあなたの問題と解決策を共有するためのあなた。私はあなたのコードを試して、まだ問題に直面しています。あなたは私の質問をhttp://stackoverflow.com/questions/18285540/stop-listening-for-more-listener-eventsで見ていただけますか? – Geek
うわー、それはGoogleが開発者をトロールしようとしているようなものです。このソリューションをありがとう! –
ハ、私はあなたが何を意味知っている!私はそれが 'ViewTreeObserver#addOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListener)'と一貫していると思います。誰かがAndroid 1.5で間違いを犯しました。 –
あなたはViewTreeObserverクラスのremoveOnGlobalLayoutListenerについて話しているとします。このメソッドはAPIレベル16で追加されました。Androidの旧バージョンを実行しているデバイスでこのAPIを使用しようとすると、それが見つからないというのが私の推測です。
私はそれを知り、 'removeGlobalOnLayoutListener(...)'(非推奨、API 1)について皆に伝える価値があると思っています:) –
私はコード
public static void removeOnGlobalLayoutListener(View v, ViewTreeObserver.OnGlobalLayoutListener listener){
if (Build.VERSION.SDK_INT < 16) {
v.getViewTreeObserver().removeGlobalOnLayoutListener(listener);
} else {
v.getViewTreeObserver().removeOnGlobalLayoutListener(listener);
}
}
- 1. なぜ私のメソッドはNoSuchMethodErrorをスローしますか?
- 2. なぜKafkaUtils.createDirectStreamがNoSuchMethodErrorをスローしますか?
- 3. 私のシングルトンクラスがStackOverflowerrorをスローするのはなぜですか?
- 4. Boolean.class.newInstance()が例外をスローするのはなぜですか?
- 5. XmlDocument.LoadXmlがSystem.Net.WebExceptionをスローするのはなぜですか?
- 6. Observable.Generate()がSystem.StackOverflowExceptionをスローするのはなぜですか?
- 7. reader.GetOrdinal( "FieldName")が例外をスローするのはなぜですか?
- 8. アプレットがAccessControlExceptionをスローしているのはなぜですか?
- 9. null.asInstanceOf [Int]がNullPointerExceptionをスローしないのはなぜですか?
- 10. HibernateがObjectNotFoundExceptionをスローするイベントでSpringがDataAccessExceptionをスローしないのはなぜですか?
- 11. なぜIterator.next()がConcurrentModificationExceptionをスローするのですか
- 12. なぜAndroidがNullPointerExceptionをスローするのですか?
- 13. EMR + DynamoDBワークフローセットアップでHive.createTableがスローされるNoSuchMethodError JsonErrorResponseHandler
- 14. Dictionary [index]がKeyNotFoundExceptionをスローしますが、Hashtable [index]がスローしないのはなぜですか?
- 15. なぜThread.interrupt()はIllegalThreadStateExceptionをスローするのですか?
- 16. CodeProのjunitテストメソッドが例外をスローする(Eclipseで)のはなぜですか?
- 17. XmlWriterがこのコードでエラーをスローするのはなぜですか?
- 18. ネイティブの戻り値の型がSystem.InvalidProgramExceptionをスローするのはなぜですか?
- 19. 私のServiceStackサービスが例外をスローするのはなぜですか?
- 20. このWPFスライダが例外をスローするのはなぜですか?
- 21. ReflectionのSetValueが例外をスローするのはなぜですか?
- 22. コンポジットコンポーネントの "rendered"属性がIllegalArgument Exceptionをスローするのはなぜですか?
- 23. .NET OpenXML SDKのSpreadsheetDocument.Open()メソッドがNullReferenceExceptionをスローするのはなぜですか?
- 24. このJavaコードがNumberFormatExceptionをスローするのはなぜですか?
- 25. なぜLinux上にFileNotFoundExceptionがスローされるのですか
- 26. なぜApplicationExceptionがスローされるのですか?
- 27. なぜSystem.FormatExceptionがスローされるのですか?
- 28. なぜNullPointerExceptionがスローされるのですか?
- 29. なぜコンパイラはコンパイルエラーをスローしないのですか?
- 30. .Fetch()がnull参照例外をスローするのはなぜですか?
コードだが働いていますか? – Rawkode
私は解決策を知っていますが、私は普及した活発な質疑応答の形式で投稿していました:) –
私はあなたがいくつかのアップフォートを取得しようとしていると仮定していますが、少なくとも@azertitiに答え: – Rigotti