ঠিক আছে, সুতরাং এটি আমাকে সত্যিই বিরক্ত করতে শুরু করেছে। এই ত্রুটিটি একটি খুব বিশেষভাবে যুক্ত হয়, খুব যৌক্তিক উপায়ে নয়।
এই ত্রুটি সম্পর্কিত অন্যান্য প্রশ্নগুলি আমি ইতিমধ্যে দেখেছি বলে এই কথাটি বলার আগে আমার কাজ শুরু করা যাক, গুগলও এটি চাইবে। যতদূর আমি বলতে পারি, সর্বাধিক অনুরূপ সমস্যা দেখা দেয় কারণ লোকেরা একটি String
উত্স বা অন্য কিছুকে একই লেআউট ফাইলের মধ্যে না বলে উল্লেখ করে , তারা '@' আইডি + 'বা' অনুরূপ 'কিছু' ভুল জায়গায় ফেলে।
আমার যে সমস্যাটি হচ্ছে তা একটি এর সাথে একটি লেআউট। XML ফাইলে ঘটে RelativeLayout
। এটিতে একটি TableLayout
, দুটি LinearLayout
গুলি রয়েছে যা কিছু পাঠ্য এবং অবশেষে a ProgressBar
। আমি যা চাই তা হল অগ্রগতি বারটি আপেক্ষিক বিন্যাসের সাথে android:layout_alignParentBottom="true"
সামঞ্জস্য করা এবং তারপরে অগ্রগতি বারের উপরে দুটি লিনিয়ার বিন্যাস প্রান্তিককরণ করা (নীচের লিনিয়ার বিন্যাসটি প্রগতি বারের উপরে প্রান্তিককরণ, নীচের লিনিয়ার বিন্যাসের উপরে অন্য প্রান্তিককরণ)।
এটি যথেষ্ট সহজ হওয়া উচিত এবং দেখে মনে হচ্ছে এটি কাজ করে, যেমন গ্রাফিক ভিউটি পছন্দসই ফলাফলটি দেখায়। যাইহোক, এবং এখানে সমস্যাটি আসবে , গ্রীকটি আমাকে দুটি রৈখিক বিন্যাসে ত্রুটি দেয়,
"ত্রুটি: কোনও সংস্থান পাওয়া যায় নি যে প্রদত্ত নামের সাথে মিলছে ('লেআউট_আবারোভে' মান '@ আইডি / লিনিয়ারলআউট_একসি' এর সাথে)" "
এবং অন্যান্য লিনিয়ার বিন্যাসের জন্য একই ত্রুটিটি অগ্রগতি বারকে উল্লেখ করে। আমার ট্রিপলের চেয়ে বেশি পরীক্ষা করা আছে যে কোনও টাইপস নেই (প্যাকেজ নামটিতেও আইডির উপস্থিতি রয়েছে R আর জাভা) এবং আমি প্রকল্পটি কয়েক ডজন বার সাফ করার চেষ্টা করেছি।
প্রকল্পটি চালানোর সিদ্ধান্ত নেওয়ার আগ পর্যন্ত আমি (এবং অটো বিল্ডিং) সংরক্ষণ করার সময় ত্রুটিটি পাই না। আর একটি অদ্ভুত বিষয় হ'ল আমি যখন শীর্ষ লিনিয়ার বিন্যাসের পরিবর্তে অগ্রগতি বার থেকে নীচের লিনিয়ার লেআউটটি উল্লেখ করি তখন আমি কোনও ত্রুটি পাই না!
আমার লেআউট ফাইল:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background_activity" >
<TableLayout
... />
<LinearLayout
android:id="@+id/LinearLayout_dist"
android:layout_above="@id/LinearLayout_acc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp" >
<TextView
... />
<TextView
... />
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout_acc"
android:layout_above="@id/ProgressBar_statusScreen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" >
<TextView
... />
<TextView
... />
</LinearLayout>
<ProgressBar
android:id="@+id/ProgressBar_statusScreen"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="16dp" />
</RelativeLayout>
দয়া করে সহায়তা করুন, এই ত্রুটির কারণটি আমার কী ধারণা নেই!
উত্তর সহ সম্পাদনা করুন
শ্রীকান্ত লেআউট ফাইলে উপস্থিতির ক্রম পরিবর্তন করার সমাধান নিয়ে এসেছিলেন যাতে রেফারেন্স পড়ার সময় উপাদানগুলি ইতিমধ্যে সংজ্ঞায়িত অন্যান্য উপাদানগুলিকেই উল্লেখ করে।
এছাড়াও, যেমন অন্যদের পোস্ট করেছেন পরিবর্তন @id/
করতে @+id/
এমনকি একটি রেফারেন্স, ত্রুটি বার্তা অপসারণ করে। মার্কো ডাব্লু। এই থ্রেডে যেমন লিখেছেন , জিনিসটি হ'ল আপনাকে @+id/
প্রতিটি আইডি উল্লেখ করার সময় প্রথমবার ব্যবহার করতে হবে এবং তারপরে ব্যবহার করতে হবে @id/
, যদিও প্রথমবারের মতো সংজ্ঞা নাও হতে পারে।
আমি বেশিরভাগ ডিজাইন তৈরি করেছিলাম এবং রেখাযুক্ত আইডি'র তালিকাটি গ্রহগ্রন্থের গ্রাফিকাল এডিটারে সেট করে রেখেছি, সুতরাং একটি ত্রুটি বার্তার ফলস্বরূপ কোডটি স্বয়ংক্রিয়ভাবে wasোকানো হয়েছিল। হতে পারে এটি Eclipse এ একটি বাগ।