2013-04-06 85 views
8

我已經在這裏呆了好幾天了,而且我已經放棄了,所以任何幫助都非常感謝!Android - 在我的佈局xml中膨脹SimonVT NumberPicker類時出錯

我一直在嘗試在我的android應用中實現simonVT numberpicker。對android完全陌生,所以包括圖書館,引用這個圖書館,並讓所有東西都能編譯,這本身就是幾天的任務。現在我終於擁有了一切編制我在運行時出現以下錯誤:

04-06 10:58:37.126: E/AndroidRuntime(14324): java.lang.RuntimeException: 
Unable to start activity ComponentInfo{com.example.goalminder/com.example.goalminder.AddGoal}: 
android.view.InflateException: Binary XML file line #81: 
Error inflating class net.simonvt.numberpicker.NumberPicker 

這裏是我的佈局的開口道:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res/net.simonvt.numberpicker" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

NB - 使用了「xmlns:應用」上面部分具有黃色警告標記 - 它沒有被使用。我把這個包含在另一個stackoverflow答案中。類似的問題。已經留下來阻止這個建議。

下面是numberpicker的XML:我已經包含了這個主題在我的主題文件指示由西蒙

<net.simonvt.numberpicker.NumberPicker   
    android:id="@+id/dayPicker" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="50dp" 
    android:layout_marginRight="10dp" 
    android:layout_weight="1"/> 

。我真的不知道什麼樣的名字給它,所以我把它叫做「NumberPicker」:

<resources> 

    <!-- Copy one of these attributes to your own theme (choose either dark or light). 
     <item name="numberPickerStyle">@style/NPWidget.Holo.NumberPicker</item> 
     <item name="numberPickerStyle">@style/NPWidget.Holo.Light.NumberPicker</item> 
    --> 
    <style name="NumberPicker" parent="android:Theme"> 
     <item name="numberPickerStyle">@style/NPWidget.Holo.NumberPicker</item> 
    </style> 

    <style name="NumberPicker" parent="android:Theme.Light"> 
     <item name="numberPickerStyle">@style/NPWidget.Holo.Light.NumberPicker</item> 
    </style> 

</resources> 

我還增加了以下我的Android清單作爲應用程序的孩子:

<activity 
    android:name="net.simonvt.numberpicker.Numberpicker" /> 
<activity 
    android:name="net.simonvt.numberpicker.Scroller" /> 

我已經遍佈了stackoverflow,所以我們上面所提到的是我見過的所有推薦的散射槍方法。如前所述,我對此感到困惑,並且正在接近實施一個標準的醜陋列表。

NB - 我得到了所有這些與本機android實現Numberpicker的工作。我想使用西蒙VT的backport版本,但因爲我會尋求支持API < 11,其中包括我相信有一個39.7% distribution薑餅。如果你認爲我不需要支持這件事,請告訴我。

+0

任何消息對此有何看法?我有同樣的問題。 – M4tchB0X3r 2013-04-11 07:52:49

+1

對不起,以便延遲迴復。我去使用本機Numberpicker實現。我已經接受了下面的回覆,同時SimonVT也在他的github上得到了同樣的迴應。給那一槍。 – Ste77 2013-05-01 12:14:48

回答

11

你需要添加主題在AndroidManifest.xml中的活動: 例子:

<activity android:name="yourActivity" android:theme="@style/SampleTheme.Light"/> 
+0

我遇到同樣的問題。我試圖在對話框中使用NumberPicker,並使用getActivity()。setTheme(R.style.AppBaseTheme);但不是。任何想法?謝謝! – emiliosg 2013-07-10 18:12:23

+0

Emiliosg無需做任何額外的工作,只需設置對話框應顯示在其中的活動主題 – 2013-10-06 07:25:25

0

嘗試用com.your.package.NumberPicker更換net.simonvt.numberpicker.NumberPicker。

2

看人妖的使用說明:

需要增加一個屬性你的主題。查看示例應用程序瞭解如何完成此操作。

values/theme.xml

<style name="SampleTheme" parent="android:Theme"> 
    <item name="numberPickerStyle">@style/NPWidget.Holo.NumberPicker</item> 
</style> 

values-v11/themes.xml

<style name="SampleTheme" parent="android:Theme.Holo"> 
    <item name="numberPickerStyle">@style/NPWidget.Holo.NumberPicker</item> 
</style> 
0

我有幾乎同樣的問題,我得到的錯誤

11-18 21:13:18.627: W/ResourceType(13799): No package identifier when getting value for resource number 0x00000000 

我終於意識到,我有添加樣式項目到我自己樣式定義(如保羅Lammertsma上面顯示),我只是複製/粘貼SimonVT的樣式,當然,我的申請沒有被使用:

<style parent="@android:style/Theme.Holo.NoActionBar.Fullscreen" name="NoActionBar"> 
    <item name="numberPickerStyle">@style/NPWidget.Holo.NumberPicker</item> 
</style> 

然後,後仍無法正常工作,我發現我完全錯過了一個themes.xml文件(我有三個不同的API級別)。

3

如果您不想爲自己的項目創建主題,則可以對numberpicker的源代碼執行以下操作,將其設置爲使用默認主題NPWidget_Holo_numberPicker。

替換爲以下

public NumberPicker(Context context, AttributeSet attrs) { 
    this(context, attrs, R.style.NPWidget_Holo_NumberPicker); 
} 

然後構造TypedArray attributesArray的分配更改爲以下:

TypedArray attributesArray = context.obtainStyledAttributes(
      attrs, R.styleable.NumberPicker, 0, defStyle); 
+0

非常感謝!工作100% – Guihgo 2016-06-18 01:10:49