バージョン1.6でバージョン1.6でバージョン1.6でバージョン1.6で発生するoverridePendingTransitionの問題の解決について
overridePendingTransitionという関数はAPI 5の後に追加されたので、必ずこのように書きたいと思います.
当然だと思いましたが、出张がないと思って1.6の机械で走り出したら...VerifyError....
これはなぜですか.ifでの文は実行されないのにね~
間違いだ!overridePendingTransitionはクラスのロード時に呼び出されるのでifとは関係ありません~ifに書かなくても実行されるのでエラーが発生します
どのように解決しますか?
OKロード時に運転させないといいですね~
内部クラスを1つ置く~内部クラスで呼び出す~
これによりifが実行されるまで内部クラスがJVMにロードされないので、中のメソッドは呼び出されません~
OK解決~
if(android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
overridePendingTransition(0,0);
}
当然だと思いましたが、出张がないと思って1.6の机械で走り出したら...VerifyError....
これはなぜですか.ifでの文は実行されないのにね~
間違いだ!overridePendingTransitionはクラスのロード時に呼び出されるのでifとは関係ありません~ifに書かなくても実行されるのでエラーが発生します
どのように解決しますか?
OKロード時に運転させないといいですね~
内部クラスを1つ置く~内部クラスで呼び出す~
if(android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
newObject() {
publicvoid overridePendingTransition(Activity c, inti, intj) {
c.overridePendingTransition(i,j);
}
}.overridePendingTransition(this,0,0);
}
これによりifが実行されるまで内部クラスがJVMにロードされないので、中のメソッドは呼び出されません~
OK解決~