2014-01-08 2 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, который испытывает проблемы раздувается

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

Это ошибка

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> 

в мой файл стилей, а не файл темы.

Смежные вопросы