2013-06-11 6 views
17

मुझे इसे बाहर निकालने में परेशानी हो रही है। मैं अपने फोन (नेक्सस 4) पर पुन: पेश करने में असमर्थ हूं। ऐसा लगता है कि सभी उपकरणों को प्रभावित नहीं किया जा रहा है लेकिन मेरे पास पर्याप्त रिपोर्ट है जहां यह देखने के लिए निराशाजनक है।एंड्रॉइड java.lang.ArrayIndexOutOfBoundsException: लंबाई = 10; सूचकांक = 10

java.lang.ArrayIndexOutOfBoundsException: length=10; index=10 
at android.text.StaticLayout.calculateEllipsis(StaticLayout.java:938) 
at android.text.StaticLayout.out(StaticLayout.java:859) 
at android.text.StaticLayout.generate(StaticLayout.java:524) 
at android.text.StaticLayout.<init>(StaticLayout.java:147) 
at android.widget.TextView.makeSingleLayout(TextView.java:6583) 
at android.widget.TextView.makeNewLayout(TextView.java:6429) 
at android.widget.TextView.onMeasure(TextView.java:6807) 
at android.view.View.measure(View.java:16047) 
at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1232) 
at android.widget.TableRow.onMeasure(TableRow.java:114) 
at android.view.View.measure(View.java:16047) 
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4921) 
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410) 
at android.widget.TableLayout.measureChildBeforeLayout(TableLayout.java:464) 
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 
at android.widget.TableLayout.measureVertical(TableLayout.java:476) 
at android.widget.TableLayout.onMeasure(TableLayout.java:439) 
at android.view.View.measure(View.java:16047) 
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4921) 
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410) 
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 
at android.view.View.measure(View.java:16047) 
at android.widget.ListView.measureScrapChild(ListView.java:1190) 
at android.widget.ListView.measureHeightOfChildren(ListView.java:1255) 
at android.widget.ListView.onMeasure(ListView.java:1165) 
at android.view.View.measure(View.java:16047) 
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4921) 
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410) 
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 
at android.view.View.measure(View.java:16047) 
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4921) 
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
at android.view.View.measure(View.java:16047) 
at android.widget.LinearLayout.measureVertical(LinearLayout.java:847) 
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 
at android.view.View.measure(View.java:16047) 
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4921) 
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2418) 
at android.view.View.measure(View.java:16047) 
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2129) 
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1282) 
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1493) 
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1179) 
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4861) 
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) 
at android.view.Choreographer.doCallbacks(Choreographer.java:562) 
at android.view.Choreographer.doFrame(Choreographer.java:532) 
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) 
at android.os.Handler.handleCallback(Handler.java:725) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:5293) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
at dalvik.system.NativeStart.main(Native Method) 
+3

मैं एक जावा आदमी नहीं हूं जो एंड्रॉइड मैन नहीं है, लेकिन लंबाई 10 के साथ एक सरणी में इंडेक्स 0,1,2,3,4,5,6,7,8,9 है। किसी बिंदु पर आप एक गैर मौजूद इंडेक्स 10 –

+0

अपने कोड को एक्सेस कर रहे हैं .. – NetStarter

+2

पोस्ट करने के लिए कौन सा कोड है? यह मेरे लेआउट के साथ किसी भी तरह की समस्या है जो एक्सएमएल है? – Paul

उत्तर

-2

Array सूचकांक 0 पर शुरू और 9 करने के लिए array length शून्य से 1 ..So सीमा पाश में खत्म।

+8

-1, कारण स्टैकट्रैस स्पष्ट रूप से इंगित करता है कि IndexOutOfBounds क्लाइंट कोड में नहीं है, लेकिन Androids मूल कोड में है। http://stackoverflow.com/a/18564198/1855764 - यह एक सही उत्तर है –

32

विशेषताओं android:lines="1" android:singleLine="true" https://code.google.com/p/android/issues/detail?id=33868

+1

मेरे पास एक ही समस्या है, अगर मुझे सिंगललाइन = "सत्य" वर्कअराउंड की तुलना में सेटलाइन (2..एक्स) सेट करने की आवश्यकता है, तो क्या होगा –

+0

सही नहीं होगा, 'एंड्रॉइड: सिंगललाइन = "सत्य" 'आवश्यक है। अजीब, यह देखते हुए कि इसे पहले से ही हटा दिया गया था (एक बार अतीत में) और प्रलेखन इसे * आवश्यकता * के रूप में सूचीबद्ध नहीं करता है: "आप प्रायः स्क्रॉल को क्षैतिज या सिंगललाइन भी सेट करना चाहते हैं ताकि संपूर्ण पाठ भी हो कई लाइनों पर अभी भी टूटी जाने की अनुमति देने के बजाय एक पंक्ति में बाध्य। " http://developer.android.com/reference/android/widget/TextView.html#attr_android:ellipsize – caw

+4

और यदि मैं एकाधिक लाइनों पर एक इलिप्स चाहता हूं तो क्या होगा? एंड्रॉइड: ellipsize = "end" और एंड्रॉइड: maxLines = "3" और एंड्रॉइड: सिंगललाइन = "झूठा", दुर्घटनाग्रस्त हो जाएगा? – Frank

0

वे कम से कम एक प्रकार का वृक्ष को यह जोड़ा जाना चाहिए था स्थापित करने के लिए की आवश्यकता है! : एस आप इसे ठीक करने के लिए कस्टम टेक्स्टव्यू का उपयोग कर सकते हैं।

public class MyTextView extends TextView { 
    public MyTextView(Context context, AttributeSet attrs, int defStyleAttr) { 
     super(context, attrs, defStyleAttr); 
     init(); 
    } 

    public MyTextView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     init(); 
    } 

    public MyTextView(Context context) { 
     super(context); 
     init(); 
    } 

    private void init() { 

     // this is to overcome the calculateEllipsis bug in some versions of android, I spotted it on 4.4.4 and 4.4.3 
     // see https://code.google.com/p/android/issues/detail?id=33868 

     if (Build.VERSION.SDK_INT >= 16) { 
      if (getMaxLines() == 1) { 
       setSingleLine(true); 
      } 
     } 
    } 
} 

सामान्य टेक्स्टव्यू के बजाय आपके xml में MyTextView संदर्भ।

-4

परिवर्तन इस

अपने सरणी लंबाई 0 करने के लिए 10

for (int i=0; i<9; i++) 
{ 
     System.out.println("value is ofposition"+yourArrayList[i]); 
} 
1

अंक

  1. तरह पाश के लिए देखो अगर हम android:maxLines="1" android:ellipsize="middle" तो हमारे आवेदन सेट कुछ उपकरणों में दुर्घटनाओं पर।

समाधान

  1. Android दस्तावेज़ है कि जब हम "android:ellipsize" संपत्ति केवल समाप्ति के लिए तो "android:maxLines" गुण सेट और मार्की समर्थित है कहते हैं।

संदर्भ

setEllipsize

एपीआई स्तर में जोड़ा 1

void setEllipsize (TextUtils.TruncateAt where) 

कारण पाठ में ऐसे शब्द हैं जो कर रहे हैं दृश्य की चौड़ाई से अधिक समय के बजाय ellipsized जा करने के लिए टूट बीच में। आप टेक्स्ट को एक पंक्ति में बाधित करने के लिए सिंगलेलाइन() या सेट होरिज़ोंटैली स्क्रोलिंग (बूलियन) सेट भी करना चाह सकते हैं। Ellipsizing बंद करने के लिए शून्य का उपयोग करें। यदि सेटमैक्सलाइन (int) का उपयोग दो या दो से अधिक लाइनों को सेट करने के लिए किया गया है, केवल END और MarquEE समर्थित हैं (अन्य इलिप्सिंग प्रकार कुछ भी नहीं करेंगे)।