今、私は以下のようないくつかのログを取得します (log-1)
java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to ClassA$1
at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1010)
...
1010行目
final LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) obj.method();//line 1010
ログは次のようになるはずです (log-2)
java.lang.ClassCastException: ClassA$1 cannot be cast to android.widget.LinearLayout$LayoutParams
なぜlog-1を取得するのか知りたいのですが、それは正しいですか?
log-1 が正しければ、そのような例外を作成するコードをどのように書くことができますか?
ps:ClassA$1 が無名クラスであることは知っています。
ps:このログはサルのテストで取得しましたが、再現するのは非常に困難です
誰か教えて :
MyInterface my = ClassA$1;//$1 is an anonymous class which implements MyInterface
my.getClass().cast(lp);
ログは log-1 のようになりますが
、ログが「キャスト」メソッド行を指摘していないのはなぜですか?
そして、私はフォルダーframeworks/base/coreをチェックします。誰もメソッドを呼び出しません "? java.lang.Class.cast(Object obj)"
何かアイデアはありますか?