2011-08-15 16 views
11
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
    <ListView 
     android:layout_above="@id/btn_4" <-- this line error: No resource found 
     android:layout_width="match_parent" 
     android:layout_height="200dp" /> 
    <Button android:id="@+id/btn_4"   <-- I declare the id here 
     android:layout_alignParentBottom="true" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" /> 
</RelativeLayout> 

कोई सुझाव?सापेक्ष लेआउट का लेआउट_बॉव "कोई संसाधन नहीं मिला" त्रुटि

उत्तर

26

जैसा कि मैं इसे समझता हूं, पहली बार एक आईडी को लेआउट xml में उपयोग किया जाता है, इसके सामने एक + चिह्न होना चाहिए।

Declaring Layout डॉक्स से:

प्लस-चिह्न (+) का अर्थ है कि यह एक नया संसाधन नाम है कि बनाया जाना चाहिए और (R.java फ़ाइल में) अपने संसाधनों को जोड़ा गया है।

तो, ListView लेआउट में पहले btn_4 संदर्भ में '+' जोड़ें और आप एंड्रॉइड से अनावश्यक '+' को हटा सकते हैं: बटन लेआउट में आईडी विशेषता।

1

जब आप रिश्तेदार लेआउट की घोषणा, आप android:layout_above="@+id/layoutToBeAbove"

उपयोग करने के लिए नहीं तो, प्रणाली क्या आप पर इंगित कर रहे हैं पता नहीं है की है।

यह घोषणा उसी संसाधन पर इंगित करेगी।

आशा है कि इससे मदद मिलेगी!

+0

साझा करने की देखभाल कि आपने 15 महीने का उत्तर क्यों दिया है? – Codeman

2

Button btn_4 घोषित के बाद ListView list_1 घोषित के रूप में यह android:layout_above="@id/btn_4" में यह संदर्भित करने के लिए कोशिश करता है।

+0

एक्सएमएल एक मार्कअप भाषा है, कोई निष्पादन आदेश नहीं है, क्योंकि यह स्टेटलेस है। इससे कोई फर्क नहीं पड़ता कि इसे कहां घोषित किया गया है, इसे बस सही मार्कअप होना चाहिए। – Codeman

+2

एह? एक्सएमएल वह है जो आप इसे बनाते हैं। यदि मैं चाहता हूं (ऑर्डर बनाए रखा गया है) तो मैं इसे ऊपर-नीचे पार्स कर सकता हूं। यह * समस्या को ठीक करता है। कल्पना कीजिए कि अगर ए बी से ऊपर घोषित कर सकता है और बी खुद को ए –

+1

से ऊपर घोषित कर सकता है तो यह सही जवाब है –

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