所以我使用我的一個Android應用程序出現了一些奇怪的行爲。我有兩個應用程序,都具有相同的自定義背景圖像,並且一個工作得很好。另一方則不想合作。Android自定義背景使用列表適配器導致數字格式異常
<application
...
android:theme="@style/MyTheme" >
更改我的styles.xml(整個文件)以下:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyTheme" parent="android:Theme.Holo">
<item name="android:background">@drawable/dummy_background_image</item>
</style>
</resources>
同樣,這
我在AndroidManifest.xml中通過以下添加自定義主題對於應用#1來說工作得很好。但是,應用程序#2 ...
當我把這叫做:
setListAdapter(new ArrayAdapter<Game>(getActivity(),
android.R.layout.simple_list_item_activated_1,
android.R.id.text1,
gameCategories.getCategories()));
它拋出:
01-22 21:30:21.439: E/AndroidRuntime(28044): FATAL EXCEPTION: main
01-22 21:30:21.439: E/AndroidRuntime(28044): java.lang.NumberFormatException: Invalid int: "res/drawable/dummy_background_image.png"
01-22 21:30:21.439: E/AndroidRuntime(28044): at java.lang.Integer.invalidInt(Integer.java:138)
01-22 21:30:21.439: E/AndroidRuntime(28044): at java.lang.Integer.parse(Integer.java:375)
01-22 21:30:21.439: E/AndroidRuntime(28044): at java.lang.Integer.parseInt(Integer.java:366)
01-22 21:30:21.439: E/AndroidRuntime(28044): at com.android.internal.util.XmlUtils.convertValueToInt(XmlUtils.java:122)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.content.res.TypedArray.getInt(TypedArray.java:255)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.view.animation.Animation.<init>(Animation.java:251)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.view.animation.AlphaAnimation.<init>(AlphaAnimation.java:40)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:117)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:92)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.view.animation.AnimationUtils.loadAnimation(AnimationUtils.java:73)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.support.v4.app.ListFragment.setListShown(ListFragment.java:290)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.support.v4.app.ListFragment.setListAdapter(ListFragment.java:186)
01-22 21:30:21.439: E/AndroidRuntime(28044): at com.example.legacy.GameListFragment.updateListAdapter(GameListFragment.java:107)
01-22 21:30:21.439: E/AndroidRuntime(28044): at com.example.legacy.GameListActivity.updateListAdapter(GameListActivity.java:158)
01-22 21:30:21.439: E/AndroidRuntime(28044): at com.example.legacy.databaseAccess.DatabaseAccessTask.onPostExecute(DatabaseAccessTask.java:57)
01-22 21:30:21.439: E/AndroidRuntime(28044): at com.example.legacy.databaseAccess.DatabaseAccessTask.onPostExecute(DatabaseAccessTask.java:1)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.os.AsyncTask.finish(AsyncTask.java:631)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.os.AsyncTask.access$600(AsyncTask.java:177)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.os.Handler.dispatchMessage(Handler.java:99)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.os.Looper.loop(Looper.java:137)
01-22 21:30:21.439: E/AndroidRuntime(28044): at android.app.ActivityThread.main(ActivityThread.java:5455)
01-22 21:30:21.439: E/AndroidRuntime(28044): at java.lang.reflect.Method.invokeNative(Native Method)
01-22 21:30:21.439: E/AndroidRuntime(28044): at java.lang.reflect.Method.invoke(Method.java:525)
01-22 21:30:21.439: E/AndroidRuntime(28044): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
01-22 21:30:21.439: E/AndroidRuntime(28044): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
01-22 21:30:21.439: E/AndroidRuntime(28044): at dalvik.system.NativeStart.main(Native Method)
當我經過調試模式下,應用程序會顯示應用簡單(前到達列表適配器),所以它至少可以找到該文件。
顯然,我知道它是一個字符串,並將其轉換爲int將會失敗。但是,爲什麼這將它轉換爲int並且沒有得到相應的數字?它爲什麼適用於應用程序#1和應用程序#2?
在此先感謝。
發佈整個堆棧跟蹤 – stinepike
當然,我可以做到這一點,當我回到那臺電腦。然而,我不確定你在找什麼 - 這是拋出的異常,我粘貼了棧跟蹤指向的那一行。 反正我會這樣做的,當然,我只是不知道你用來調試問題的信息,我想知道以備參考。 – JuniorIncanter
@StinePike更新時間 – JuniorIncanter