2011-08-22 10 views
69

में गैर क्लिक करने योग्य और स्पर्श करने योग्य है मेरे एप्लिकेशन में रेटिंग बार हैं। मैं रेटिंग बार सेट करना चाहता हूं गैर-क्लिक सक्षम और स्पर्श करने योग्य नहीं है। इसके लिए मैंने प्रत्येक रेटिंग बार की xml फ़ाइल में निम्न कोड जोड़ा।एंड्रॉइड - रेटिंग बार कैसे सेट करें एचटीसी मोबाइल

यह सैमसंग गैलेक्सी अपोलो जीटी-आई 5801 में काम कर रहा है। लेकिन यह एचटीसी मोबाइल में काम नहीं कर रहा है। क्यूं कर?

एक्सएमएल कोड

android:clickable="false"  
android:focusableInTouchMode="false"  
android:focusable="false" 

धन्यवाद

+1

आप इसे (गलत) इस rating.setClickable तरह कोडिंग में की कोशिश की है; –

+0

संख्या लेकिन क्या कोई अंतर (एक्सएमएल और कोड भाग) है? – naresh

+0

सुनिश्चित नहीं है। लेकिन मैंने अभी तक xml में कोशिश नहीं की है। क्षमा करें –

उत्तर

258

तुम भी RatingBar संकेतक के रूप में एक्सएमएल से साथ सेट कर सकते हैं निम्नलिखित:

android:isIndicator="true" 
+4

यदि आप सूची दृश्य में इसका उपयोग कर रहे हैं तो यह सबसे अच्छा समाधान है। – AlbertRosa

+0

धन्यवाद, इसने मेरी समस्या को सूचीदृश्य में हल किया। – jackcar

16

गलत पर सक्षम निर्धारित नहीं करते हैं के रूप में इस पर नियंत्रण मंद होगा। क्या आप क्या करना चाहते इस तरह स्पर्श श्रोता पर ओवरराइड है:

import android.view.View.OnTouchListener; 

RatingBar ratingBar = (RatingBar)findViewById(R.id.ratingBar); 
ratingBar.setOnTouchListener(new OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
      return true; 
     } 
    }); 

तो बुनियादी तौर पर आप संपर्क रोकना और इसके साथ कुछ नहीं कर

इसके अलावा ट्रैकबॉल रोलओवर ब्लॉक करने के लिए भी निम्न कोड जोड़

ratingBar.setFocusable(false); 
+6

भले ही मैंने यह उत्तर लिखा और यह काम करता है, मुझे एंडी का जवाब –

+4

एंड्रॉइड से बेहतर पसंद है: isIndicator = "true" उचित समाधान – dirkoneill

+0

गलत जवाब है। सही तरीका यह है: एंड्रॉइड: isIndicator = "true" (XML) या setIsIndicator (false) // CODE – Sileria

15

यह यह आपके setOnRatingBarChangeListener में इस कोड लिखने है

ratingaddrate.setIsIndicator(true); 

अद्यतन:

आप अपने एक्सएमएल में इस उदाहरण का उपयोग कर सकते

android:isIndicator="true" 

भी इस लाइन कोड में जोड़ने के लिए

ratingBar.setFocusable(false); 
0

यह सबसे अच्छा समाधान है:

एंड्रॉयड: isIndicator = "true"

+1

यह स्वीकार्य उत्तर के समान सटीक उत्तर है, मुझे समझ में नहीं आता कि आपने इसे क्यों पोस्ट किया है। –

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