1

我正在使用 IntelliJ Idea 12.1 创建一个简单的桌面小部件。

我从网络指南创建了一个非常小的项目。它可以构建,但是当我将小部件放在主屏幕上时,它会显示“正在加载”,并且日志中会出现以下错误:

08-02 20:44:37.844: WARN/ResourceType(12463): No package identifier when getting value for resource number 0x00000000
08-02 20:44:37.844: WARN/AppWidgetHostView(12463): Error inflating AppWidget AppWidgetProviderInfo(provider=ComponentInfo{com.example.kbs/com.example.KbsProvider}): android.content.res.Resources$NotFoundException: Resource ID #0x0

我试过两部手机(HTC Incredible S、Sony Xperia SP)

我的 Android 清单如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.kbs">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <receiver android:name=".KbsProvider" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data android:name="android.appwidget.provider"
                       android:resource="@xml/kbs_widget_provider" />
        </receiver>
    </application>
</manifest>

我的xml/kbs_widget_provider.xml

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="schemas.android.com/apk/res/android"
    android:minWidth="146dip"
    android:minHeight="72dip"
    android:updatePeriodMillis="18000000"
    android:initialLayout="@layout/main">
</appwidget-provider>

我什至尝试过最小化layout/main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >

</LinearLayout>

我的java类是:

package com.example.kbs;

import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class KbsProvider extends AppWidgetProvider {
}

我不确定,我错过了什么

4

1 回答 1

0

问题出在xml/kbs_widget_provider.xml文件中。我忘schemaxmlns:android属性。

正确的是:

xmlns:android="http://schemas.android.com/apk/res/android"

于 2013-08-03T13:27:24.123 回答