我已经尝试将他们的代码调整到我的目的,我尝试了直接复制粘贴.似乎无论我做什么,我的小部件都不会更新.当它放在主屏幕上时,文本将保留为创建它的静态文本.我需要这个应用程序才能更新4个TextViews,它将包含在布局中.
下面的代码主要是从其中一个教程中复制而来.我已经尝试过调试onUpdate方法,但是破解点似乎永远不会受到影响.
任何帮助将不胜感激.
编辑:我恢复了这个小部件的一个更简单的版本,我之前尝试过我的努力,并用更简单的小部件的代码替换下面的代码.我将CommonsWare建议的更改发送到我的清单.不幸的是问题仍然存在
我的主要.java文件看起来像这样:
public class NetStatWidget extends AppWidgetProvider
{
public void onUpdate(Context context, AppWidgetManager manager, int[] appWidgetIds)
{
ComponentName thisWidget = new ComponentName(context, NetStatWidget.class);
int[] widgetId = manager.getAppWidgetIds(thisWidget);
RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.appwidget);
remoteView.setTextViewText(R.id.textView0, "Hello");
manager.updateAppWidget(widgetId, remoteView);
}
}
Run Code Online (Sandbox Code Playgroud)
我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.stat"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<receiver android:name="NetStatWidget" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/providerinfo" />
</receiver>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
我的Widget提供商信息: …