2013-02-06 28 views
6

Tôi đang phát triển một hệ điều hành Android App có sử dụng Facebook-SDKv3, vì vậy tôi đã tạo ra một mục trong strings.xml:Lớp cast Exception trong Android string.xml

<resources> 
    <string name="facebook_app_id">"12345678910"</string> 
</resources> 

và bổ sung sau vào Manifest :

<application> 
    ... 
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:resource="@string/facebook_app_id" /> 
</application> 

tôi luôn luôn có được ngoại lệ này:

02-06 16: 35: 01,231: W/Bundle (8316): Key com.facebook.sdk.ApplicationId dự kiến ​​Stri ng nhưng giá trị là một java.lang.Integer. Giá trị mặc định đã được trả về.
02-06 16: 35: 01.231: W/Bundle (8316): Cố gắng tạo ngoại lệ nội bộ đã tạo:
02-06 16: 35: 01.231: W/Bundle (8316): java.lang.ClassCastException: java .lang.Integer không thể truyền tới java.lang.String
02-06 16: 35: 01.231: W/Bundle (8316): tại android.os.Bundle.getString (Bundle.java:1061)
02- 06 16: 35: 01,231: W/Bundle (8316): tại com.facebook.internal.Utility.getMetadataApplicationId (Utility.java:159)

tôi đã cố gắng để đưa các con số trong "" nhưng điều này đã làm không giải quyết được vấn đề, hy vọng ai đó có thể giúp tôi.

+0

nhưng định dạng đúng là ' 12345678910' –

+0

vâng tôi biết và đã thử nó, nhưng ai đó đề nghị phải đặt nó trong "". – bembii

+1

Không phải là 'android: value' thay vì 'android: resource'? –

Trả lời

13

Thay đổi nó từ android:resource để android:value

+2

Tài liệu dành cho nhà phát triển ngớ ngẩn! – Skynet

+0

cảm ơn .. làm việc như quyến rũ .. :) –