2013-02-15 20 views
9

Tôi đã bao gồm thư viện android-support-v4.jar để sử dụng "android: parentActivityName =" com.myApp.example.MainActivity ". nó bao gồm trong Dependencies "Android"" và 'Khảo Sát Libraries', nhưng nó vẫn không hoạt động ->android: parentActivityName không hoạt động mặc dù android-support-v4.jar được bao gồm

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

Bất kỳ lời đề nghị?

<?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> 

Trả lời

17

Thuộc tính android:parentActivityName được giới thiệu trong API 16. Thiết lập xây dựng mục tiêu của dự án của bạn để Android 4.1 và sau đó bạn có thể chạy ứng dụng của bạn trên các thiết bị có mức API 14 (bạn tuyên bố mức sdk tối thiểu là 14) hoặc cấp cao hơn nếu thư viện hỗ trợ Android được bao gồm trong đường dẫn xây dựng của dự án của bạn.

+0

Đặt mục tiêu xây dựng của dự án đã giải quyết được vấn đề này. Cảm ơn bạn! – Kody

+5

Nếu chúng tôi sử dụng android: parentActivityName và đặt mục tiêu xây dựng của dự án của chúng tôi thành API 16 và người dùng chạy ứng dụng của chúng tôi với API cấp 14, họ có gặp lỗi không? Hay nó "chỉ làm việc" cho họ? – wizurd

8

Bạn cần phải thêm trong mỗi đứa trẻ hoạt động

 <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

Như @iargin nói

android:parentActivityName is introduced in API 16

Đó là sự thật, và xây dựng lại mức api 16 tác phẩm mỹ tuy nhiên, from official documentation tương đương đang sử dụng meta-data thẻ

<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> 

và nó hoạt động trên mức api 15

+0

Rõ ràng đây là câu trả lời được chấp nhận –

1

Hãy chắc chắn rằng android: giá trị được thiết lập để:

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

và không:

android:value="MainActivity" 

Đó cố định của tôi vấn đề.

2

cho android:value cũng có thể sử dụng android:value=".MainActivity" vì được khai báo tên gói. 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> 
Các vấn đề liên quan