在我的应用程序中,我想在单击按钮后将“setText”设置为TextView。但是小部件崩溃了!并且文本没有改变我知道我的按钮点击它工作正常。但是当我试图运行“setSomeText();”应用程序崩溃的方法。 我认为原因是因为我没有在“OnUpdate”Override方法中做到这一点。 这是我的代码:
public class WidgetClock extends AppWidgetProvider{
public RemoteViews views;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
for (int i = 0; i < appWidgetIds.length; i++) {
views = new RemoteViews(context.getPackageName(), R.layout.widget_clock);
Intent intent = new Intent("enterAction").addCategory("enterAction");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.bEnter_Widget, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds[i], views);
}
}
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
System.out.println("action:" + action);
if ("enterAction".equals(action)) {
System.out.println("views = " + views);
if(views != null){
views.setTextViewText(R.id.txWorkName_widget, "Works!");
}
} else {
super.onReceive(context, intent);
}
}
}
我将“观看次数”视为空。
感谢帮助者