অ্যান্ড্রয়েড - SPAN_EXCLUSIVE_EXCLUSIVE স্প্যানগুলির দৈর্ঘ্য শূন্য হতে পারে না


190

আমার নীচের লেআউটটি রয়েছে (কার্যত শূন্য):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/set_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:contentDescription="content desc"
    android:orientation="vertical" >

    <TextView android:id="@+id/text"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Hello, I am a TextView" />
</LinearLayout>

ক্রিয়াকলাপ শ্রেণিতে নিম্নলিখিতটি রয়েছে:

public class TestActivity extends Activity {
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);   
  }
}

আমি যখন এটি আমার মোবাইল ডিভাইসে চালনা করি আমি নিম্নলিখিত ত্রুটিটি পাই:

SpannableStringBuilder
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

আমি টেক্সটভিউ সহ এবং এর বাইরেও চেষ্টা করেছি এবং ত্রুটিটি এখনও রয়ে গেছে, এ জাতীয় কারণের জন্য এ জাতীয় মৌলিক বিন্যাসের জন্য অবশ্যই আমার অবশ্যই কিছু ভুল করা উচিত be

আমি কীভাবে ত্রুটি ছাড়াই লোড করতে পারি তা সম্পর্কে কারও কি কোনও ধারণা আছে?


লগগ্যাট পরীক্ষা করুন এবং আপনার ত্রুটির সাথে যুক্ত স্ট্যাক ট্রেসটি দেখুন। যদি সত্যই এটি এই অ্যাপ্লিকেশন থেকে আসে তবে আপনার প্রশ্নের একটি সম্পাদনা হিসাবে পুরো স্ট্যাক ট্রেস পোস্ট করুন। এছাড়াও, আমি এ android:contentDescriptionথেকে মুক্তি পাব LinearLayout, কারণ সেই ধারকটি ফোকাসযোগ্য নয় এবং সেইজন্য বিবরণটি আফাইক ব্যবহার করা হবে না।
কমন্সওয়্যার 21

6
আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ. দুর্ভাগ্যক্রমে এই ত্রুটিটির জন্য কোনও স্ট্যাক ট্রেস নেই, আউটপুট ঠিক যেমনটি আমি উপরে পোস্ট করেছি ঠিক তেমনই, তবে লগগেটে অ্যাপ্লিকেশন ক্ষেত্রটি আমার অ্যাপ্লিকেশনটিকে নির্দেশ করে। আমি কোডটি ডিবাগ করেছি এবং প্রতিটি লাইনে পা রেখেছি যাতে কোনও ত্রুটি ছুঁড়ে না দেওয়া হয়, সুতরাং এটি অবশ্যই অ্যান্ড্রয়েড কোডের কোথাও থাকা উচিত যা এমন কিছু প্রত্যাশা করে যা সেখানে নেই।
ডিএম্যাক

আমি শেষ ব্যবহারকারীদের জন্য কোনও বৈশিষ্ট্য অপসারণ / অক্ষম না করে কীভাবে এই বিরক্তিকর ত্রুটিটি এড়ানো যায় তা জানতে চাই।
অ্যান্ড্রয়েড বিকাশকারী

1
আমি ফোনটি ফ্যাক্টরি সেটিংসে রিসেট করেছি এবং 'স্যামসং কীবোর্ড ফিক্স' চেষ্টা করে যা আমার পক্ষে চালাকি করে বলে মনে হয় নি ...
শার্ক

সম্ভবত এটি কোনও সমস্যা নয় তবে অ্যান্ড্রয়েড 4..১.১ এ আপগ্রেড করার পরে আমি এই জাতীয় লগগুলিতে অনেক ত্রুটি দেখছি। স্প্যান_এক্সএলসিএলসিআইভিআইএইচসিএলএসআইপি স্প্যানগুলির শূন্য দৈর্ঘ্য থাকতে পারে না
সাগর রায়ায়ানী

উত্তর:


240

আমি লগকেটে একই ত্রুটি এন্ট্রি নিয়ে চলেছি। আমার ক্ষেত্রে এটি তৃতীয় পক্ষের কীবোর্ডটি ব্যবহার করছি। আমি যখন এটিকে আবার অ্যান্ড্রয়েড কীবোর্ডে পরিবর্তন করি, ত্রুটি এন্ট্রি আর প্রদর্শিত হবে না।


3
ধন্যবাদ @ রবি, এমনকি আমি সুইফটকিতে স্যুইচ করে ভুল পেয়েছি getting
মৌলিক শেঠ

2
নেক্সাস ((২০১২ সংস্করণ, ৪.৩ চলছে)
টম

(গ্যালাক্সি এস ৪, ৪.৪.২ এ) - স্টক স্যামসং কীবোর্ডে ফিরে যাওয়া আমার জন্য এটি ঠিক করে দিয়েছে। ধন্যবাদ!
ফ্যাটনুলার

6
দুর্ভাগ্যক্রমে উপরের @ রাবির লিঙ্কটি আর ভাল নয়। তবে এই জন্য আপনাকে ধন্যবাদ। আমি প্রকৃতপক্ষে সুইফটকে ব্যবহার করছি এবং এটি 2 বছর পরে এখনও এই সমস্যাটি সৃষ্টি করছে বলে মনে হয়।
স্প্লাক্টর

1
এই ইস্যুটি Gboard (!) এর সাথে উপস্থিত হবে (এবং এটি গুগল থেকেও)
এনাডন

113

কারণ আপনি যে ত্রুটিটি পেয়েছেন সেটি কোনও সম্পর্কিত নয়EditText , তবে এটি আপনার কীবোর্ডের সাথে সম্পর্কিত নয়

আপনি যে ত্রুটিগুলি পাচ্ছেন তা আপনার কোডের ফলাফল নয়; আপনি সম্ভবত এমন একটি স্যামসাং ডিভাইসে পরীক্ষা করছেন যা স্যামসং এর টাচউইজ রয়েছে।

আমার একই ত্রুটি ছিল, তারপরে আমি একটি নেক্সাস এস-তে পরীক্ষা করেছি (স্যামসাং দ্বারাও, তবে টাচউইজ ছাড়া খাঁটি অ্যান্ড্রয়েড ওএস) এবং আমি এই ত্রুটিটি পাই নি।

সুতরাং, আপনার ক্ষেত্রে, কোনও ডিভাইসে পরীক্ষা করার সময় এই ত্রুটিগুলি কেবল উপেক্ষা করুন! :)


1
এটি আপনার কীবোর্ড, সম্ভবত আপনার ক্ষেত্রে টাচউইজের কীবোর্ড। সুইফটকি সহ একটি নেক্সাস 4 এ আমারও একই ত্রুটি রয়েছে, যদি আমি ডিফল্ট অ্যান্ড্রয়েড কীবোর্ড চয়ন করি তবে ত্রুটিগুলি চলে গেছে।
দান্তে

কীবোর্ডগুলি অবশ্যই এই ত্রুটির দিকে পরিচালিত করতে পারে, তবে যেখানে কীবোর্ডটি ব্যবহার বা কল করা হয় না, অর্থাত্ কোনও ক্ষেত্রে যেখানে সম্পাদনা পাঠ্যক্রম নেই, সেখানে কী-বোর্ড কীভাবে সমস্যার উত্স হতে পারে তা আমি দেখতে পাই না। আমি যখন এডিট টেক্সট ব্যতীত দুটি পৃথক ক্রিয়াকলাপের মধ্যে স্যুইচ করি তখন প্রতিবার এই ক্রিয়াকলাপগুলির মধ্যে একটিতে গিয়ে আমি ত্রুটি পেতে থাকি।
করিম

2
আমি কুকির সাথে একমত, ত্রুটিগুলি স্যামসাং টাচউইজের কারণে, এবং এটি লগকটে ত্রুটি বানানোর ব্যতীত অন্য কোনও সমস্যা সৃষ্টি করে না। সুতরাং তাদের উপেক্ষা করা হবে
ব্যবহারকারী 2566490

আমরা কেবল ত্রুটিগুলি উপেক্ষা করতে পারি না কারণ এটি কেবল একটি টাচউইজে ঘটে থাকে, কমপক্ষে সামসুংয়ের প্রতিবেদন করছে যে টাচউইজে কোনও সমস্যা আছে।
Sojurn

1
আমি এডিট টেক্সট সম্পর্কিত না হয়ে অবশ্যই ঘটতে পারি। কিছু শিরোনামের সাথে একটি পছন্দ ফ্রেম প্রদর্শন করার সময় আমার এই ত্রুটি হয়েছিল - কোনও পাঠ্যবাক্স বা সাজানোর কিছুই নেই। একটি পছন্দফ্র্যাগমেন্ট থেকে প্রতিটি পরিবর্তনে আমি এই দুটি ত্রুটি বার্তা পেয়েছি। "স্যামসাং কীবোর্ড" থেকে "স্মার্ট কীবোর্ড প্রো" এ পরিবর্তন করা হয়েছে এবং ত্রুটি বার্তাগুলি বন্ধ হয়ে গেছে।
ম্যাগনাস ডব্লিউ

46

আপনার কোডটির দিকে তাকিয়ে, আপনি কেন সেই ত্রুটিটি পাচ্ছেন তা আমি নিশ্চিত নই, তবে আমার এই একই ত্রুটি ছিল তবে এডিটেক্সট ক্ষেত্রগুলি দিয়ে।

পরিবর্তন android:inputType="text"(অথবা অন্যান্য ইনপুট টেক্সট বৈচিত্র কোন) এর android:inputType="textNoSuggestions"(বা android:inputType="textEmailAddress|textNoSuggestions", উদাহরণস্বরূপ) আমার জন্য এটি স্থির করেছি।

আপনি কোড এ সেট করতে পারেন মত ​​কিছু

mInputField.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

অ্যান্ড্রয়েড ডিফল্ট হিসাবে ধরে নিয়েছে বলে মনে হচ্ছে এডিটেক্সট ক্ষেত্রগুলিতে পরামর্শ থাকবে। যখন তারা না, এটি ত্রুটি। এই ব্যাখ্যায় 100% আত্মবিশ্বাসী নয়, তবে উল্লিখিত পরিবর্তনগুলি এটি আমার জন্য স্থির করেছে।

http://developer.android.com/reference/android/text/Spanned.html#SPAN_EXCLUSIVE_EXCLUSIVE

আশাকরি এটা সাহায্য করবে!


এর জন্য ধন্যবাদ. তবে এমনকি টেক্সটভিউ সরানো হয়েছে এবং কেবলমাত্র উপস্থিত লেআউট উপস্থিত থাকলেই আমি ত্রুটি পাই। এটা খুব আজব।
ডিএম্যাক

লিনিয়ারলআউট থেকে বিষয়বস্তু মুছে ফেলা সাহায্য করবে না?
টিম

2
না, দুর্ভাগ্যবশত না. যদিও আরও তদন্তের সাথে ত্রুটিটি কেবল স্যামসাং ডিভাইসগুলিতে প্রদর্শিত হবে বলে মনে হচ্ছে।
ডিএম্যাক

14

আপনার অ্যান্ড্রয়েড ফোনে
সেটিংস -> অ্যাপ্লিকেশন পরিচালক -> সমস্ত -> স্যামসং কীবোর্ডে যান এবং তারপরে "ক্লিয়ার ক্যাশে" ক্লিক করুন
(এই অ্যাপ্লিকেশন দ্বারা সংগৃহীত সমস্ত ডেটা মুছুন)।


বাহ আমি সেই অ্যাপ্লিকেশনটির মাধ্যমে 68 এমবি স্টাফ রেখেছিলাম। : O
XåpplI'-I0llwlg'I -

11

ডিফল্ট অ্যান্ড্রয়েড কীবোর্ড ব্যবহার করে দেখুন এটি অদৃশ্য হয়ে যাবে


কীভাবে ডিফল্ট কীবোর্ড ব্যবহার করবেন।
নাগরজুনা

1
আপনাকে এটি ফোন ইনপুট সেটিংসে পরিবর্তন করতে হবে। আপনি যদি এটি পরিবর্তন না করেন তবে আপনার ডিফল্ট কীবোর্ড থাকা উচিত। এটি ডিফল্ট কীবোর্ডের সাথে বেশ মজার সমাধান, তবে এটি আমার জন্য কার্যকর ...: পি
ক্রিশ্চিয়ান

4
ডিফল্ট অ্যান্ড্রয়েড কীবোর্ডেও সমস্যা আছে (আমার এটি একটি নেক্সাস 5 এ রয়েছে)
ইওন হারকিউট

4

CreateOptionsMenu এবং onCreate নিম্নলিখিত পদ্ধতির জন্য আপনার মেইনএসিটিভিটির একটি মান পাস করেছেন তা পরিষ্কার করুন

কিছু ক্ষেত্রে, বিকাশকারী "রিটার্ন সুপার.অনেক্রেটঅপশনস মেনু (মেনু)" বিবৃতিটি মুছে ফেলে এবং "সত্য সত্য" -এ পরিবর্তিত হয়।


3

এটি আমার জন্য ... প্রতিটি ডিভাইসে কাজ করেছে

    <EditText
        android:maxLines="1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="15sp"
        android:layout_centerVertical="true"
        android:textColor="#000"
        android:id="@+id/input_search"
        android:background="@null"
        android:inputType="text"
        android:hint="Enter Address, City or Zip Code"
        android:imeOptions="actionSearch"
        />

জাভা কোডে:

mSearchText.setOnEditorActionListener(new TextView.OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) {
            if(actionId == EditorInfo.IME_ACTION_SEARCH
                    || actionId == EditorInfo.IME_ACTION_DONE
                    || keyEvent.getAction() == KeyEvent.ACTION_DOWN
                    || keyEvent.getAction() == KeyEvent.KEYCODE_ENTER){

                //execute our method for searching
            }

            return false;
        }
    });

ধন্যবাদ। মোহন এর মতো কাজ করেছেন
swapnil gandhi

মনে হচ্ছে শ্রোতা থাকা আবশ্যক
AndroidHV

হ্যালো বন্ধুরা, আমার স্ক্রিনে কোনও সম্পাদনা পাঠ্য ব্যবহার করবেন না, কেবলমাত্র লিনিয়ার লেআউট এবং বোতামটি ব্যবহার করুন tablet আমি যখন ট্যাবলেটটিতে অ্যাপ চালিত করি তখনই একই সমস্যার মুখোমুখি হন (৪.১.২) .2
হার্দিক 5'19

1

আমার একই সতর্কতা ছিল এবং আমি দেখতে পেলাম যে অব্যবহৃত @id অপসারণ করা সতর্কতা থেকে মুক্তি পেয়েছে। আমার পক্ষে এটি স্পষ্ট ছিল যেহেতু @id একটি ডেটাবেসের সাথে লিঙ্কযুক্ত টেক্সটভিউগুলির ক্রমবর্ধমান তালিকার সাথে যুক্ত ছিল, তাই প্রতিটি প্রবেশের জন্য একটি সতর্কতা ছিল।


1

মাসউদ মোশরেফ ঠিক বলেছেন, এই ত্রুটিটি ঘটে কারণ মেনুর অপশন মেনুটি ওয়ানক্রিট () পদ্ধতিতে "রিটার্ন সুপার.অনক্রিয়েটওপশনমেনু (মেনু)" এর অভাবের সাথে ভালভাবে প্রস্তুত হয় না।


1

এই ত্রুটিটি ডিবাগ করার চেষ্টা করতে প্রথমে আপনার অ্যান্ড্রয়েড টার্মিনাল / কনসোল এ যান এবং এই আদেশটি কার্যকর করুন:

ps | grep THE_ERROR_PID_YOU_GET_(IT_IS_A_NUMBER)

তারপরে যদি আউটপুটটি আপনার অ্যাপ হিসাবে প্রকাশিত হয় ... ত্রুটি ঘটায় এটি আপনার অ্যাপ্লিকেশন। আপনি Stringsযে জায়গায় গিয়েছেন তা খালি দেখার চেষ্টা করুন layout

আমার ঠিক একই সমস্যা ছিল এবং আমি Stringআমার লেআউটটিতে খালি যাচ্ছিলাম বলে এটি আমার দোষ ছিল । পরিবর্তন করার পরে ""করতে " "এই ত্রুটি চলে গেল।

যদি আপনি কনসোল আউটপুট থেকে আপনার অ্যাপটি না পান তবে এটি অন্যরকম কিছু ঘটায় যা সম্ভবত অন্যরা বলেছিল, অ্যান্ড্রয়েড কীবোর্ড)


0

আমি একই সমস্যার মুখোমুখি হয়েছি। এই সমস্যাটি সমাধান করতে আমি প্রায় কয়েক সপ্তাহ নষ্ট করেছি। অবশেষে আমার নিজের উপর সন্দেহ ছিল এবং স্প্ল্যাশস্ক্রিন এবং লগইনস্ক্রিনের মতো কিছু স্টার্টআপ ফাইল অনুলিপি করে পেস্ট করে অন্য একটি প্রকল্প তৈরি করার চেষ্টা করেছি।

তবে একই কোডটি নিয়ে এখনও আমি SPAN_EXCLUSIVE_EXCLUSIVE পাচ্ছিলাম

তারপরে আমি স্প্ল্যাশ স্ক্রিন থেকে হ্যান্ডলার কোডটি সরিয়ে আবার চেষ্টা করেছি এবং বাহ এটির কাজ করছে। আমি হচ্ছি SPAN_EXCLUSIVE_EXCLUSIVE বিষয়টি Logcat

আমি ভাবছি, এটা কেন? সময় পর্যন্ত অন্য কোনও সমাধান না পেয়ে স্প্ল্যাশ স্ক্রিন থেকে হ্যান্ডলারটি সরিয়ে এটি কাজ করছে।

সমাধান এবং না হয়ে থাকলে এখানে চেষ্টা করুন এবং আপডেট করুন।


0

স্ক্রিনে যেখানে এই মুখোমুখি হচ্ছে আপনার বোতাম বা পাঠ্য ভিউ সদৃশ (দুবার অনুলিপি করা) এর মতো কোনও উপাদান রয়েছে কিনা তা পরীক্ষা করুন। আমি এটি অলক্ষিত করেছিলাম এবং একই সমস্যার মুখোমুখি হতে হয়েছিল।


0

আমি ইন্টারনেট থেকে কিছু পাঠ্য অনুলিপি করার সময় আমিও এই সমস্যার মধ্যে পড়েছিলাম। আমার সমাধানটি হ'ল আরও কোনও প্রক্রিয়াজাতকরণের আগে পাঠ্যটি ছাঁটাই / বিন্যাস সরানো।


0

আমার একই সমস্যা ছিল তবে একটি তালিকাভিউয়ের সাথে .... আমি এটি সমাধান করেছি কারণ আমি একটি ভুল আর.আই.ডি.লিস্টভ্যুটি ব্যবহার করেছিলাম সেই তালিকা দেখুনটির একটি মান হওয়া দরকার, আমার ক্ষেত্রে এটি তালিকাগুলি ছিল যা আমি তালিকাভিউ 2 এ সংরক্ষণ করেছি ... সুতরাং ডান কোডটি ছিল R.id.listView2


0

আমার একই সমস্যা ছিল তখন আমি কোডটি অনুসরণ করে এটি ঠিক করেছি!

  text = (EditText)findViewById(R.id.TextVoiceeditText); 
  text.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

0

পরিবর্তিত API URL এর কারণেও এই ত্রুটি ঘটে। পোস্টম্যান এবং সিতে যদি আপনি সঠিকভাবে কাজ করছেন তবে আপনি যে URL টি ব্যবহার করছেন তা হিট করার চেষ্টা করুন। এপিআইগুলি যাচাই করা আমার সমস্যার সমাধান করেছে


0

এক্সএমএল ডিজাইনে দৃশ্যের ব্যবহার এড়ানো চেষ্টা করুন I এটি পুরোপুরি কাজ করেছে।

উদাহরণস্বরূপ:

             <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"                   
                android:hint="Username"
                android:inputType="number"                   
                android:textColor="#fff" />

            <view
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#f9d7db" />

এছাড়াও ট্রায়াল এবং ত্রুটি অ্যান্ড্রয়েড দ্বারা পরীক্ষা করে দেখুন এবং চেষ্টা করুন : ইনপুট টাইপ = "সংখ্যা" কে অ্যান্ড্রয়েডে: ইনপুট টাইপ = "পাঠ্য" বা প্রয়োজন না হলে এটি ব্যবহার না করা ভাল ome


0

আমার ক্ষেত্রে, পাঠ্য / পাঠ্যক্যাপচার্যাক্টর হিসাবে ইনপুট টাইপের সাথে সম্পাদনা পাঠ্য ক্ষেত্রগুলি এই ত্রুটিটি কেস করছে । আমি আমার লগকটে এটি লক্ষ্য করেছি যখনই আমি এই ক্ষেত্রগুলির যে কোনও একটিতে টাইপ করা পাঠ্যটি সম্পূর্ণরূপে অপসারণ করতে ব্যাকস্পেস ব্যবহার করি।

সমাধান যা আমার জন্য কাজ করার জন্য আপনি ওই ক্ষেত্র ইনপুট পরিবর্তনের মধ্য দিয়ে textNoSuggestions হিসাবে এই সবচেয়ে উপযুক্ত টাইপ ছিল এবং আমাকে কোন অবাঞ্ছিত ত্রুটি আর দেননি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.