私は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. GuiceがNoSuchMethodErrorを投げているのはなぜですか?
- 4. Java Webプロジェクトで実行するとSeleniumが "NoSuchMethodError"をスローする
- 5. 私のシングルトンクラスがStackOverflowerrorをスローするのはなぜですか?
- 6. Hibernate enversはNoSuchMethodError例外をスローしますか? JBossで
- 7. XmlDocument.LoadXmlがSystem.Net.WebExceptionをスローするのはなぜですか?
- 8. ASN1Object.getEncoded()がBouncyCastleにIOExceptionをスローするのはなぜですか?
- 9. MemoryStreamがInvalidFormatExceptionをスローするのはなぜですか?
- 10. Boolean.class.newInstance()が例外をスローするのはなぜですか?
- 11. reader.GetOrdinal( "FieldName")が例外をスローするのはなぜですか?
- 12. Observable.Generate()がSystem.StackOverflowExceptionをスローするのはなぜですか?
- 13. EjbインターフェイスがNullPointerExceptionをスローするのはなぜですか?
- 14. HTTPBuilderが "HttpResponseException:Bad Request"をスローするのはなぜですか?
- 15. MediaRecorder.prepare()がIOExceptionをスローするのはなぜですか?
- 16. マッパーがArrayIndexoutofboundexceptionをスローするのはなぜですか?
- 17. アプレットがAccessControlExceptionをスローしているのはなぜですか?
- 18. null.asInstanceOf [Int]がNullPointerExceptionをスローしないのはなぜですか?
- 19. `JSON.parse`が例外をスローしないのはなぜですか?
- 20. HibernateがObjectNotFoundExceptionをスローするイベントでSpringがDataAccessExceptionをスローしないのはなぜですか?
- 21. NullPointerExceptionがスローされるのはなぜですか?
- 22. なぜAndroidがNullPointerExceptionをスローするのですか?
- 23. なぜIterator.next()がConcurrentModificationExceptionをスローするのですか
- 24. UnkownOperatorExceptionがスローされないのはなぜですか?
- 25. なぜこのコードは例外をスローするのですか?
- 26. VB.NETがデフォルトでOverflowExceptionをスローするのはなぜですか? MSDNから
- 27. なぜThread.interrupt()はIllegalThreadStateExceptionをスローするのですか?
- 28. Dictionary [index]がKeyNotFoundExceptionをスローしますが、Hashtable [index]がスローしないのはなぜですか?
- 29. XmlWriterがこのコードでエラーをスローするのはなぜですか?
- 30. CodeProのjunitテストメソッドが例外をスローする(Eclipseで)のはなぜですか?
コードだが働いていますか? – Rawkode
私は解決策を知っていますが、私は普及した活発な質疑応答の形式で投稿していました:) –
私はあなたがいくつかのアップフォートを取得しようとしていると仮定していますが、少なくとも@azertitiに答え: – Rigotti