タッチ リリースをリッスンしようとしていますが、イベントが発生していません。
これは私のコードです:
public class MyView extends View {
public MyView(final Context context) {
super(context);
setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent e) {
if (e.getAction() == MotionEvent.ACTION_DOWN) {
makeToast("press", context);
} else if (e.getAction() == MotionEvent.ACTION_UP || e.getAction() == MotionEvent.ACTION_CANCEL) {
makeToast("release", context);
}
return false;
}
});
}
void makeToast(String s, Context c) {
CharSequence text = s;
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(c, text, duration);
toast.show();
}
}
活動クラス:
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView v = new MyView(getApplicationContext());
setContentView(v);
}
}
画面に触れると「プレス」と書かれたトーストが表示されますが、タッチを離してもトーストは表示されませんが、「リリース」と書かれたトーストが表示されることを期待しています。
私は何が欠けていますか?