मुझे एक कस्टम दृश्य मिला है जो एक बटन की तरह काम करता है। जब उपयोगकर्ता इसे दबाता है तो मैं पृष्ठभूमि को बदलना चाहता हूं, जब पृष्ठभूमि उंगली को बाहर ले जाता है या इसे छोड़ देता है तो पृष्ठभूमि को मूल में वापस लेना चाहता हूं और मैं ऑनक्लिक/ऑन लोंगक्लिक घटनाओं को भी संभालना चाहता हूं। समस्या यह है कि ऑन टच मुझे ACTION_DOWN
के लिए सच होने की आवश्यकता है या यह मुझे ACTION_UP
ईवेंट नहीं भेजेगा। लेकिन अगर मैं सच हो जाता हूं onClick
श्रोता काम नहीं करेगा।एंड्रॉइड ऑन टच ऑनक्लिक और ऑन लोंगक्लिक
मैंने सोचा कि मैंने इसे टच में झूठ लौटकर और ऑनक्लिक पर पंजीकरण करके हल किया - यह किसी भी तरह काम करता था, लेकिन दस्तावेज़ों के खिलाफ थोड़े थे। मुझे अभी एक उपयोगकर्ता से एक संदेश मिला है जो मुझे बता रहा है कि वह बटन पर लंबे समय तक क्लिक करने में सक्षम नहीं है, इसलिए मैं सोच रहा हूं कि यहां क्या गलत है।
वर्तमान कोड के भाग:
public boolean onTouch(View v, MotionEvent evt)
{
switch (evt.getAction())
{
case MotionEvent.ACTION_DOWN:
{
setSelection(true); // it just change the background
break;
}
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_OUTSIDE:
{
setSelection(false); // it just change the background
break;
}
}
return false;
}
public void onClick(View v)
{
// some other code here
}
public boolean onLongClick(View view)
{
// just showing a Toast here
return false;
}
// somewhere else in code
setOnTouchListener(this);
setOnClickListener(this);
setOnLongClickListener(this);
मैं कैसे उन्हें एक साथ सही ढंग से काम कर सकता हूँ?
अग्रिम