小部件 - 无法实例化Receiver

时间:2011-09-06 14:59:26

标签: android widget nullpointerexception

我知道有类似的问题已被提出但没有一个对我有帮助。如果我指向一个有解决方案的链接,我会非常高兴。无论如何,每次我安装我在Android模拟器上开发的小部件时,我都会收到错误。

错误状态
ERROR / AndroidRuntime(866):java.lang.RuntimeException:无法实例化接收器com.ifractal.firstwidget.FirstWidget:java.lang.NullPointerException

以下是相关代码

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.ifractal.firstwidget"
  android:versionCode="1"
  android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <receiver android:name=".FirstWidget" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            <action android:name="android.appwidget.action.APPWIGET_ENABLE" />
        </intent-filter>
        <meta-data
            android:name="android.appwidget.provider"
            android:resource="@xml/provider"
        />
    </receiver>
</application>

这是我在eclipse中的项目布局(显示文件在那里)

我尝试使用不同的名称,清洁/构建以及其他一些东西重新创建项目,但没有任何效果。我感谢您提供给我的任何帮助,如果需要,我愿意提供更多信息。感谢。

2 个答案:

答案 0 :(得分:1)

清单对我来说很好看。你在FirstWidget中得到一个NPE,所以你需要调查那个类。检查堆栈跟踪并查看抛出异常的确切位置。它可能是构造函数吗?

答案 1 :(得分:0)

检查您的应用窗口小部件类是否不是抽象的。 下面是一个典型的应用程序窗口小部件类声明:

public class AppWidget extends AppWidgetProvider{
    // ...
}