0

カスタム ボタンとして描画可能な背景を持つ相対レイアウトを使用し、onClick を使用してカスタム メソッドに通知を送信しています。ユーザーがいつ相対ビューに触れているかを正確に把握し、ユーザーが相対ビューに触れるのをやめるとすぐに更新されるようにしています。

ユーザーがrelativelayoutに触れなくなったときに通知を受ける方法がわかりません。何か案は?

4

1 に答える 1

1

を追加する必要がありOnTouchListener、ユーザーがいつ指を置いたのか、いつ指を離したのかを追跡するだけです。合計時間を取得するには、2 つの時間の差を取ります。これを行うには、クラス変数を宣言します

private Date downTime;

次に、古いものを削除しonClickListener(このロジックを以下に追加します)、onTouchListenerビューに を追加しonCreateます。

myView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent e) {
        switch(e.getAction()) {
            case MotionEvent.ACTION_DOWN :
                downTime = new Date();
                return true;
            case MotionEvent.ACTION_UP :
                Date d = new Date();
                long clickDuration = d.getTime() - downTime.getTime();//this is the number of milliseconds the user took to click.
                //here you should also add your onClick logic.
                downTime = null;
                return true;
        }
        return false;
    }
});
于 2013-08-22T21:12:19.003 に答える