イベントがいつ起きているのか

イベント発生を調べる

このクラスを使えば

  • このボタンを押したときのイベントはどれで取れるんだろう
  • イベントはちゃんと起きているかな?

っていうことを調べるときに継承すれば、簡単に分かるかも
Activityクラスのすべて*1のイベントの発生をログおよび、Toastに表示します。
Toastはけっこううざいからフラグで表示の有無を設定します

import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources.Theme;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
import android.view.ContextMenu;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.WindowManager.LayoutParams;
import android.widget.Toast;

public class EventToasterActivity extends Activity {

  private final String TAG = "EVENT_TOASTER";
  protected boolean appriseToast = true;

  private void apprise(String text) {
    if (appriseToast) {
      Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
    }
    Log.i(TAG, text);
  }

  @Override
  protected void onApplyThemeResource(Theme theme, int resid, boolean first) {
    apprise("onApplyThemeResource");
    super.onApplyThemeResource(theme, resid, first);
  }

  @Override
  protected void onChildTitleChanged(Activity childActivity, CharSequence title) {
    apprise("onChildTitleChanged");
    super.onChildTitleChanged(childActivity, title);
  }

  @Override
  public void onConfigurationChanged(Configuration newConfig) {
    apprise("onConfigurationChanged");
    super.onConfigurationChanged(newConfig);
  }

  @Override
  public void onContentChanged() {
    apprise("onContentChanged");
    super.onContentChanged();
  }

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    apprise("onCreate");
  }

  @Override
  public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    apprise("onCreateContextMenu");
    super.onCreateContextMenu(menu, v, menuInfo);
  }

  @Override
  public CharSequence onCreateDescription() {
    apprise("onCreateDescription");
    return super.onCreateDescription();
  }

  @Override
  public Dialog onCreateDialog(int id) {
    apprise("onCreateDialog");
    return super.onCreateDialog(id);
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    apprise("onCreateOptionsMenu");
    return super.onCreateOptionsMenu(menu);
  }

  @Override
  public boolean onCreatePanelMenu(int featureId, Menu menu) {
    apprise("onCreatePanelMenu");
    return super.onCreatePanelMenu(featureId, menu);
  }

  @Override
  public View onCreatePanelView(int featureId) {
    apprise("onCreatePanelView");
    return super.onCreatePanelView(featureId);
  }

  @Override
  public boolean onCreateThumbnail(Bitmap outBitmap, Canvas canvas) {
    apprise("onCreateThumbnail");
    return super.onCreateThumbnail(outBitmap, canvas);
  }

  @Override
  public View onCreateView(String name, Context context, AttributeSet attrs) {
    apprise("onCreateView");
    return super.onCreateView(name, context, attrs);
  }

  @Override
  protected void onDestroy() {
    apprise("onDestroy");
    super.onDestroy();
  }

  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
    apprise("onKeyDown");
    return super.onKeyDown(keyCode, event);
  }

  @Override
  public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) {
    apprise("onKeyMultiple");
    return super.onKeyMultiple(keyCode, repeatCount, event);
  }

  @Override
  public boolean onKeyUp(int keyCode, KeyEvent event) {
    apprise("onKeyUp");
    return super.onKeyUp(keyCode, event);
  }

  @Override
  public void onLowMemory() {
    apprise("onLowMemory");
    super.onLowMemory();
  }

  @Override
  public boolean onMenuItemSelected(int featureId, MenuItem item) {
    apprise("onMenuItemSelected");
    return super.onMenuItemSelected(featureId, item);
  }

  @Override
  public boolean onMenuOpened(int featureId, Menu menu) {
    apprise("onMenuOpened");
    return super.onMenuOpened(featureId, menu);
  }

  @Override
  public void onNewIntent(Intent intent) {
    apprise("onNewIntent");
    super.onNewIntent(intent);
  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    apprise("onOptionsItemSelected");
    return super.onOptionsItemSelected(item);
  }

  @Override
  public void onOptionsMenuClosed(Menu menu) {
    apprise("onOptionsMenuClosed");
    super.onOptionsMenuClosed(menu);
  }

  @Override
  public void onPanelClosed(int featureId, Menu menu) {
    apprise("onPanelClosed");
    super.onPanelClosed(featureId, menu);
  }

  @Override
  protected void onPause() {
    apprise("onPause");
    super.onPause();

  }

  @Override
  public void onPostCreate(Bundle savedInstanceState) {
    apprise("onPostCreate");
    super.onPostCreate(savedInstanceState);
  }

  @Override
  public void onPostResume() {
    apprise("onPostResume");
    super.onPostResume();
  }

  @Override
  public void onPrepareDialog(int id, Dialog dialog) {
    apprise("onPrepareDialog");
    super.onPrepareDialog(id, dialog);
  }

  @Override
  public boolean onPrepareOptionsMenu(Menu menu) {
    apprise("onPrepareOptionsMenu");
    return super.onPrepareOptionsMenu(menu);
  }

  @Override
  public boolean onPreparePanel(int featureId, View view, Menu menu) {
    apprise("onPreparePanel");
    return super.onPreparePanel(featureId, view, menu);
  }

  @Override
  public void onRestart() {
    apprise("onRestart");
    super.onRestart();
  }

  @Override
  public void onRestoreInstanceState(Bundle savedInstanceState) {
    apprise("onRestoreInstanceState");
    super.onRestoreInstanceState(savedInstanceState);
  }

  @Override
  public void onResume() {
    apprise("onResume");
    super.onResume();
  }

  @Override
  public Object onRetainNonConfigurationInstance() {
    apprise("onRetainNonConfigurationInstance");
    return super.onRetainNonConfigurationInstance();
  }

  @Override
  public void onSaveInstanceState(Bundle outState) {
    apprise("onSaveInstanceState");
    super.onSaveInstanceState(outState);
  }

  @Override
  public boolean onSearchRequested() {
    apprise("onSearchRequested");
    return super.onSearchRequested();
  }

  @Override
  protected void onStart() {
    apprise("onStart");
    super.onStart();
  }

  @Override
  protected void onStop() {
    apprise("onStop");
    super.onStop();
  }

  @Override
  public void onTitleChanged(CharSequence title, int color) {
    apprise("onTitleChanged");
    super.onTitleChanged(title, color);
  }

  @Override
  public boolean onTouchEvent(MotionEvent event) {
    apprise("onTouchEvent");
    return super.onTouchEvent(event);
  }

  @Override
  public boolean onTrackballEvent(MotionEvent event) {
    apprise("onTrackballEvent");
    return super.onTrackballEvent(event);
  }

  @Override
  public void onUserInteraction() {
    apprise("onUserInteraction");
    super.onUserInteraction();
  }

  @Override
  public void onUserLeaveHint() {
    apprise("onUserLeaveHint");
    super.onUserLeaveHint();
  }

  @Override
  public void onWindowAttributesChanged(LayoutParams params) {
    apprise("onWindowAttributesChanged");
    super.onWindowAttributesChanged(params);
  }

  @Override
  public void onWindowFocusChanged(boolean hasFocus) {
    apprise("onWindowFocusChanged");
    super.onWindowFocusChanged(hasFocus);
  }

}

これを書くだけで

半日かかりました。

*1:おそらく