我正在测试Android上的一个简单小部件,并使用闹钟定期更新TextView。问题是,在BroadcastReceiver类中,我无法访问TextView元素,而我希望在闹钟到期时更新它。该类被正确调用,因为我放置在那里的Toast正在给出适当的消息。以下代码来自我配置小部件并设置定时器的类。
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if(extras != null){
mWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(WidgetConfigure.this);
RemoteViews views = new RemoteViews(WidgetConfigure.this.getPackageName(), R.layout.widget_layout);
views.setTextViewText(R.id.quote, "Widget Loaded From Activity");
appWidgetManager.updateAppWidget(mWidgetId, views);
setTimer(); //set the timers...
setResult();// set the result...
}
}
现在,当计时器到期后广播接收器被调用时,我希望更新同一个TextView。我尝试了Android API示例中提供的ExampleAppWidget示例代码,但没有成功。我该如何设置所需的文本?