Android-在我的布局xml中膨胀SimonVT NumberPicker类时出错

Android-在我的布局xml中膨胀SimonVT NumberPicker类时出错,android,numberpicker,Android,Numberpicker,我已经在这里工作了好几天了,我已经快要放弃了,所以非常感谢您的帮助 我一直在尝试在我的android应用程序中实现。对android来说是全新的,所以包含这个库、引用这个库并编译所有内容本身就是几天的任务。现在,我终于完成了所有编译工作,但在运行时出现以下错误: 04-06 10:58:37.126: E/AndroidRuntime(14324): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.e

我已经在这里工作了好几天了,我已经快要放弃了,所以非常感谢您的帮助

我一直在尝试在我的android应用程序中实现。对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:app”部分有一个黄色警告标记-它没有被使用。我根据另一个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"/>

我已经按照Simon的指示将主题包含在我的主题文件中。我真的不知道该给它取什么名字,所以我叫它“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>

@style/NPWidget.Holo.NumberPicker
@style/NPWidget.Holo.Light.NumberPicker
我还将以下内容作为应用程序的子项添加到我的android清单中:

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

。如果您认为我不需要支持很久以前的活动,请告诉我。

您需要在AndroidManifest.xml上为活动添加主题: 例如:

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


尝试用com.your.package.numberpicker替换net.simonvt.numberpicker.numberpicker。

请参阅Simon的使用说明:

需要向主题添加单个属性。检查示例应用程序以了解如何完成此操作

:


我遇到了几乎相同的问题,我得到了错误

11-18 21:13:18.627: W/ResourceType(13799): No package identifier when getting value for resource number 0x00000000
我最终意识到,我必须将样式项添加到我自己的样式定义中(如Paul Lammertsma所示),因为我只是复制/粘贴SimonVT的样式,当然我的应用程序没有使用:

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

@style/NPWidget.Holo.NumberPicker

然后,在它仍然不工作之后,我发现我完全丢失了一个themes.xml文件(我有三个用于不同API级别)。

如果您不想为自己的项目创建主题,您可以对numberpicker的源代码执行以下操作,将其设置为使用默认的主题NPWidget\u Holo\u numberpicker

将构造函数替换为以下内容

public NumberPicker(Context context, AttributeSet attrs) {
    this(context, attrs, R.style.NPWidget_Holo_NumberPicker);
}
然后将类型Darray attributesArray的分配更改为以下内容:

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

有什么消息吗?我也有同样的问题。很抱歉反应太晚。我选择使用本机Numberpicker实现。我已经接受了下面的回复,尽管我也在他的github上收到了来自SimonVT的相同回复。试试看,我也有同样的问题。我试图在对话框中使用NumberPicker,并使用getActivity().setTheme(R.style.AppBaseTheme);但没什么。有什么想法吗?谢谢Emiliosg不需要做任何额外的工作,只需为活动设置主题,对话框应该显示在其中
public NumberPicker(Context context, AttributeSet attrs) {
    this(context, attrs, R.style.NPWidget_Holo_NumberPicker);
}
    TypedArray attributesArray = context.obtainStyledAttributes(
            attrs, R.styleable.NumberPicker, 0, defStyle);