2016-07-02 5 views
23

में विशेषता 'srcCompat' के लिए कोई संसाधन पहचानकर्ता नहीं मिला है, जब मैं अपना ऐप चलाने की कोशिश करता हूं तो मुझे मिल रहा है। मैंने अभी एंड्रॉइड सीखना शुरू कर दिया है। मैंने एक जोड़ा है नई गतिविधि और डिन किसी भी एक्सएमएल फाइलों में कुछ भी बदलते हैं।पैकेज 'learnapp.android.example.com.learnapp'

यह सटीक त्रुटि है:

Documents/MyProjects/LearnApp/app/src/main/res/layout/activity_display_message.xml 
Error:(26) No resource identifier found for attribute 'srcCompat' in package 'learnapp.android.example.com.learnapp' 

यहाँ मेरी activity_display_message.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="learnapp.android.example.com.learnapp.DisplayMessageActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

    </android.support.design.widget.AppBarLayout> 

    <include layout="@layout/content_display_message" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_margin="@dimen/fab_margin" 
     app:srcCompat="@android:drawable/ic_dialog_email" /> 

</LinearLayout> 

है मैं पहले से ही इसी तरह के सवाल पढ़ सकते हैं और देखा है कि या तो लाइन

xmlns:app="http://schemas.android.com/apk/res-auto" 

या

app:srcCompat="@android:drawable/ic_dialog_email" /> 

उनके मामले में गलत था जो मेरे मामले में नहीं है।

बैठाना यह इस गतिविधि की मूल गतिविधि मायने रखती है MainActivity.java

है
+0

हो क्या आप कोड 'fab.setImageResource (R.drawable में drawable सेट करने का प्रयास कर सकते हैं चाहिए। ic_dialog_email); ' – Harry

उत्तर

2

अपने अनुप्रयोग स्तर build.gradle

defaultConfig { 
    ... 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
    vectorDrawables.useSupportLibrary = true 
} 
+3

नहीं, यह काम करता है। यह अभी भी मुझे एक ही त्रुटि देता है! – user3425344

32

मैं सिर्फ

xmlns:app="http://schemas.android.com/apk/res-auto" 

बदल

करने के लिए इस vectorDrawables.useSupportLibrary = true जोड़े
xmlns:app="http://schemas.android.com/apk/lib/my_package_name" 

मैंने जवाब देखा here

+0

धन्यवाद काम – user3766614

+4

काम नहीं करते हैं। यह लेआउट व्यवहार बदलता है। यदि आप स्क्रॉलिंग एक्टिविटी के साथ प्रयास करते हैं, तो यह एक गड़बड़ – Zinc

10

तब भी होता है जब आपके पास समर्थन पुस्तकालयों के पुराने संस्करण होते हैं।

compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.android.support:design:23.1.1' 
compile 'com.android.support:support-v4:23.1.1' 
compile 'com.android.support:recyclerview-v7:23.1.1' 

लिए:

मैं से अद्यतन

compile 'com.android.support:appcompat-v7:24.2.1' 
compile 'com.android.support:design:24.2.1' 
compile 'com.android.support:support-v4:24.2.1' 
compile 'com.android.support:recyclerview-v7:24.2.1' 

(उन पल मैं यह लिखा पर नवीनतम संस्करण थे) और त्रुटि चला गया है। के लिए

android:src="@android:drawable/ic_dialog_email" 
+0

बदल जाता है, अंततः यह मेरे लिए तय करता है। धन्यवाद! – Tander

12

परिवर्तन app:srcCompat="@android:drawable/ic_dialog_email" तुम भी

android:src = "@drawable/ic_dialog_email" 

बजाय

app:srcCompat="@android:drawable/ic_dialog_email" 

की मैं एक ही त्रुटि थी कोशिश कर सकते हैं और यह मेरे लिए काम किया।

+1

लेकिन असली सवाल यह है कि एंड्रॉइड स्टूडियो "ऐप: srcCompat" का उपयोग क्यों कर रहा है ??? मैं इसे बदलने के थक गया हूँ। – eric

+6

ऐप: srcCompat AppCompat लाइब्रेरी 23.2 में जोड़ा गया था, इसलिए यदि आपके पास 23.1 है, तो यह अस्तित्व में नहीं है। आप एंड्रॉइड का उपयोग कर सकते हैं: src, लेकिन ऐप: srcCompat वेक्टर छवियों का समर्थन करता है, इसलिए यह बेहतर है – Zinc

8

+0

अच्छा नहीं है क्योंकि हम प्री-लॉलीपॉप में वेक्टर ड्रॉबल्स का उपयोग नहीं कर सकते हैं 'एंड्रॉइड: src' – rpattabi

-1

मैं इस प्रकार srcCompat api का उपयोग कर रहा हूं।

<android.support.v7.widget.AppCompatImageView 
     android:id="@+id/dashboard" 
     android:layout_width="60dp" 
     android:layout_height="60dp" 
     srcCompat="@drawable/dash"> 

More info

0

ऐसा लगता है कि तुम सिर्फ एक नई परियोजना का निर्माण किया। तो मेरे लिए यह तय किया गया कि मेरे निर्माण समर्थन उपकरण को अपडेट कर रहा था, फिर स्क्रैच से एक नई परियोजना तैयार कर रहा था।

अद्यतन करने के लिए: एंड्रॉयड स्टूडियो> प्राथमिकताएं ...-> प्रकटन & Behavior-> सिस्टम सेटिंग्स> एंड्रॉयड SDK-> Android SDK बिल्ड-उपकरण> अद्यतन करने के लिए

0

मैं इसी तरह की मिल गया बॉक्स को चेक करें मुद्दा।

मेरे प्रशिक्षक एपीआई 25 को एपीआई 22 अपडेट करने का प्रयास करें, और यह काम है। शायद आप इसे भी कोशिश कर सकते हैं।

0

होता है अगर आप एंड्रॉयड स्टूडियो को अपडेट करें और रद्द अद्यतन रास्ते के मध्य में अपडेट प्रक्रिया पूरी करने और सब कुछ वापस सामान्य