2013-02-15 11 views
9

मैंने एंड्रॉइड-समर्थन-v4.jar लाइब्रेरी को "एंड्रॉइड: parentActivityName =" com.myApp.example.MainActivity "का उपयोग करने के लिए शामिल किया है। यह "Android" निर्भरता "और" संदर्भित पुस्तकालय "में शामिल है, लेकिन यह अभी भी काम नहीं करता है ->एंड्रॉइड: parentActivityName काम नहीं करता है हालांकि एंड्रॉइड-सपोर्ट-v4.jar शामिल है

error: No resource identifier found for attribute 'parentActivityName' in package 'android'

कोई सुझाव?

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.myApp.example" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="17" /> 

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

    <uses-feature android:name="android.hardware.location.network" /> 
    <uses-feature android:name="android.hardware.location.gps" /> 
    <uses-feature android:name="android.hardware.wifi" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <activity 
      android:name="com.myApp.example.MainActivity" 
      android:configChanges="keyboardHidden|orientation|screenSize" 
      android:label="@string/app_name" 
      android:uiOptions="splitActionBarWhenNarrow" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <action android:name="android.intent.action.SEARCH" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name="com.myApp.example.AboutUsActivity" 
      android:configChanges="keyboardHidden|orientation|screenSize" 
      android:label="@string/AboutUs" 
      android:parentActivityName="com.myApp.example.MainActivity" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.myApp.example.MainActivity" /> 
     </activity> 

    </application> 

</manifest> 

उत्तर

17

विशेषता android:parentActivityName एपीआई 16. में शुरू की है Android 4.1 करने के लिए अपनी परियोजना के निर्माण लक्ष्य निर्धारित करें और फिर आप उपकरणों कि एपीआई स्तर 14 है पर आपकी ऐप्लिकेशन चला सकते हैं (यदि आप कम से कम एसडीके स्तर घोषित 14 होने के लिए) या यदि आपके प्रोजेक्ट के निर्माण पथ में एंड्रॉइड समर्थन लाइब्रेरी शामिल है तो उच्च स्तर।

+0

परियोजना के निर्माण लक्ष्य को निर्धारित करने से इस समस्या को हल किया गया। धन्यवाद! – Kody

+5

यदि हम एंड्रॉइड: parentActivityName का उपयोग करते हैं और हमारे प्रोजेक्ट के निर्माण लक्ष्य को API 16 पर सेट करते हैं, और कोई उपयोगकर्ता एपीआई स्तर 14 के साथ हमारे ऐप चलाता है, तो क्या उन्हें कोई त्रुटि आती है? या यह उनके लिए "बस काम" करता है? – wizurd

8

आपको प्रत्येक गतिविधि बच्चे @iargin कहा

android:parentActivityName is introduced in API 16

यह सच है, और एपीआई स्तर 16 काम करता है ठीक खिलाफ इमारत

 <application ... > 
... 
<!-- The main/home activity (has no parent activity) --> 
<activity 
    android:name="com.example.myfirstapp.MainActivity" ...> 
    ... 
</activity> 
<!-- A child of the main activity --> 
<activity 
    android:name="com.example.myfirstapp.DisplayMessageActivity" 
    android:label="@string/title_activity_display_message" 
    android:parentActivityName="com.example.myfirstapp.MainActivity" > 
    <!-- Parent activity meta-data to support API level 7+ --> 
    <meta-data 
     android:name="android.support.PARENT_ACTIVITY" 
     android:value="com.example.myfirstapp.MainActivity" /> 
</activity> 

http://developer.android.com/guide/topics/ui/actionbar.html

46

के रूप में जोड़ने की जरूरत हालांकि from official documentation बराबरका उपयोग कर रहा हैटैग

<activity 
     android:name="com.dwaik.actionbar.LocationFound" 
     android:label="@string/loc"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.dwaik.actionbar.MainActivity" /> 
    </activity> 

और यह एपीआई स्तर पर काम करता है 15

+0

जाहिर है यह स्वीकार्य उत्तर होना चाहिए –

1

यकीन है कि एंड्रॉयड बनाओ:

android:value="com.myApp.example.MainActivity" 

और नहीं: मान पर सेट है

android:value="MainActivity" 

यही तय मेरी मुसीबत।

2

android:value के लिए भी android:value=".MainActivity" का उपयोग कर सकते हैं क्योंकि पैकेज का नाम घोषित किया गया है। package="com.myApp.example"

<manifest ... 
    package="com.myApp.example" > 

    ... 

    <activity 
     android:name=".AboutUsActivity" 
     android:label="@string/AboutUs" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".MainActivity" /> 
    </activity> 

    ... 

</manifest> 
संबंधित मुद्दे