TouchListeners و TextViews.
-
18-09-2019 - |
سؤال
في الواقع أحاول تطبيق تطبيق OnTouchListener في تطبيق Android (1.5) الخاص بي. لذلك قمت بتنفيذ "ontouchlistener" في الفصل، ثم وضعت التعليمات البرمجية الخاصة بي في:
public boolean onTouchEvent (MotionEvent e){
//code
}
المشكلة هي أنه إذا جرت أكثر من (على سبيل المثال) لا يتم استدعاء الدوار أو edittextview من هذه الطريقة. الطريقة الوحيدة لحل هذا والتي أحسبها هي إضافة ontouchlistener إلى كل من هذه الآراء يدويا:
((Spinner)(findViewById(R.id.spinner1))).setOnTouchListener(tl);
((Spinner)(findViewById(R.id.spinner2))).setOnTouchListener(tl);
(TL هو ontouchlistener) لذلك أليس هناك طريقة للقبض على حدث اللمس قبل أن يصل إلى كل من تلك الآراء؟ شكرا مقدما
ريبتي
المحلول
ماذا تريد بالضبط - هل تريد:
- كشف إيماءات كاملة في بعض
Activity
. - كشف اللمسات فقط للحصول على
View
إذا كنت تريد السابق:
الق نظرة على هذا المثال:فرقة الكشف عن لفتة على تخطيط الشبكة.
أساسا، يمكنك إعادة توجيه جميع أحداث اللمس المسجلة إلى GestureDetector
وبعد يفهم ما هو بالضبط إدخال المستخدم (اضغط واحد، انقر نقرا مزدوجا، والتمرير، وما إلى ذلك) ويستدعي رد الاتصال المقابل في SimpleOnGestureListener
, ، والتي يجب أن تنفذ.
إذا كنت تريد الأخير:
يمكنك إما:
- تجاوز العرض
onTouchEvent()
. - تنفيذ وينف
onTouchListener
(إذا كنت ترغب في الحصول على اللمس قبل إرسالها إليها).
إذا كنت ترغب في التنفيذ onTouchListener
, ، سوف تفعل عملك وليس في onTouchEvent()
الطريقة، ولكن في الواجهة onTouch()
طريقة.
امل ان يساعد.