2014-01-08 11 views
1

因此,我使用SimonVT number picker嘗試創建一個與薑餅一起使用的號碼選取器。不幸的是,當我嘗試將其設置爲對話框時,它在嘗試膨脹xml時崩潰。我老實說在這上面花了一段時間,不能爲了我的愛而弄明白。其他人可以嗎?使用SimonVT號碼選取器,無法膨脹xml

這是它崩潰了:

import net.simonvt.numberpicker.NumberPicker; 
import android.app.AlertDialog; 
import android.app.Dialog; 
import android.os.Bundle; 
import android.support.v4.app.DialogFragment; 
import android.view.View; 

public class setSnoozeMethodDialog extends DialogFragment{ 

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    View view = getActivity().getLayoutInflater().inflate(R.layout.set_snooze_dialog, null); 

    NumberPicker np = (NumberPicker) view.findViewById(R.id.numberPicker); 
    np.setMaxValue(20); 
    np.setMinValue(0); 
    np.setFocusable(true); 
    np.setFocusableInTouchMode(true); 

    builder.setView(view); 

    return builder.create(); 
} 

這是有被誇大

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal" 
android:gravity="center"> 

<net.simonvt.numberpicker.NumberPicker 
    android:id="@+id/numberPicker" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 
</LinearLayout> 

這麻煩XML是錯誤

01-07 23:44:33.308: E/AndroidRuntime(623): FATAL EXCEPTION: main 
01-07 23:44:33.308: E/AndroidRuntime(623): android.view.InflateException: Binary XML file line #8: Error inflating class net.simonvt.numberpicker.NumberPicker 
01-07 23:44:33.308: E/AndroidRuntime(623): at android.view.LayoutInflater.createView(LayoutInflater.java:518) 
01-07 23:44:33.308: E/AndroidRuntime(623): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570) 
01-07 23:44:33.308: E/AndroidRuntime(623): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623) 
01-07 23:44:33.308: E/AndroidRuntime(623): at android.view.LayoutInflater.inflate(LayoutInflater.java:408) 
01-07 23:44:33.308: E/AndroidRuntime(623): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
01-07 23:44:33.308: E/AndroidRuntime(623): at  android.view.LayoutInflater.inflate(LayoutInflater.java:276) 

我把這些在我已經清單

 <activity 
     android:name="net.simonvt.numberpicker.samples.DarkThemeActivity" 
     android:theme="@style/SampleTheme" /> 
     <activity 
     android:name="net.simonvt.numberpicker.samples.LightThemeActivity" 
     android:theme="@style/SampleTheme.Light" /> 

這是我theme.xml價值的文件夾

<resources> 

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

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

回答

2

想通了。我需要添加

<resources> 

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

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

我的樣式文件,而不是主題文件。