ICS デバイスで非常に奇妙な動作が発生しています。レイアウトにボタンがあり、次のようにリスナーをクリックします。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// To just demonstrate weird behavior, i am throwing run-time exception
throw new RuntimeException("testing weird behavior on ICS");
//String s = null; s.length(); You can try this , application does not crash.
}
});
}
通常の状態では、これによりアプリケーションがクラッシュするはずですが、驚くべきことに、次のように logcat でクラッシュが見られますが、アプリケーションはクラッシュしません。むしろ見える
Failed to handle callback; interface not implemented, callback:android.view.View$PerformClick@40d80cc8
java.lang.RuntimeException: testing weird behaviour
at com.example.sampleproject.MainActivity$1.onClick(MainActivity.java:21)
at android.view.View.performClick(View.java:3538)
at android.view.View$PerformClick.run(View.java:14330)
at android.os.Handler.handleCallback(Handler.java:608)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:4977)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
なぜ私がこの奇妙な振る舞いを経験しているのか、どんな助けも大歓迎です。
@Jenの提案に従って、 b.performClick(); を試しました。、アプリケーションは通常の動作を示しますが、 onClickListener では同じ動作を示します。
私はここにバグを提出しました リンク http://code.google.com/p/android/issues/detail?id=35517&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars