2011-12-07 14 views
5

के लिए श्रोता क्लिक करें, मुझे विषय नहीं मिला है, शायद कोई मुझे एंड्रॉइड प्रभावशीलता के बारे में कुछ सिखा सकता है जब टॉपिस बटन के लिए क्लिक्सलिस्टर के बारे में है।प्रभावशीलता, एंड्रॉइड स्विच या प्रत्येक बटन

आइए कहें कि मुझे एक पृष्ठ पर 10 बटन मिले हैं (अभी एक उदाहरण है) क्या करना सबसे अच्छी बात है?

  1. एक स्विच जो बटन के लिए आईडी स्विच करता है?
  2. प्रत्येक बटन के लिए एक ऑनक्लिक लिस्टनर?

तेज तरीका क्या है और क्यों? क्या कोई अलग है?

उत्तर

1

यदि कोई महत्वपूर्ण अंतर है तो मुझे आश्चर्य होगा। मैं # 2 के साथ जाऊंगा क्योंकि मुझे लगता है कि यह स्पष्ट कोड की ओर जाता है।

3

सर्वोत्तम अभ्यास पर पहला विकल्प है: एक स्विच जो बट बटन के लिए आईडी स्विच करता है।

मेरे अनुभव के अनुसार, मैं तुम्हें एंड्रॉयड आवंटित करने के लिए सुझाव है: onClick समान मूल्य वाली विशेषता, उदाहरण के लिए कहते हैं: एंड्रॉयड: onClick = "btnClicker"

और अब आप के अंदर एक ही विधि को लागू करने के लिए है गतिविधि वर्ग के रूप में:

public void btnClicker(View v) 
{ 
    switch(v.getId()) 
    { 
    case R.id.btn1: 
     break; 

    case R.id.btn2: 
     break; 

    case R.id.btn3: 
     break; 
    } 
} 

2 विकल्प के बारे में: क्योंकि यह कोड लाइनों की संख्या में वृद्धि की वजह से बस लगता है कि आप 10 बटन हो रही है और आप प्रत्येक बटन के लिए अलग-अलग क्लिक श्रोता आवंटित मैं इसे पसंद नहीं करते। और अब इसे उपरोक्त पहले विकल्प से तुलना करें, आपको इसका एहसास होगा।

तो मैं आपको सुझाव दूंगा कि मैंने ऊपर दिए गए उदाहरण के साथ पहले विकल्प के साथ सुझाव दिया है, मुख्य कारण यह कोड लाइनों की संख्या कम करता है और कोड की बेहतर पठनीयता।

ऊपर दिए गए पहले विकल्प में बेहतर पठनीयता क्यों है?

क्योंकि आप जानते हैं कि आपको केवल इस बटन को प्रत्येक बटन के लिए कोड के लिए जांचना है, क्योंकि सब कुछ एक समारोह के अंदर है।

0

मुझे लगता है कि उत्तर 1 प्रभावशीलता है। क्योंकि ऑब्जेक्ट बनाने से ऐप धीमा हो जाएगा। और मोबाइल फोन में रैम सीमा पर विचार किया जाना चाहिए।

संबंधित मुद्दे