如何在向主屏幕添加小部件时屏蔽onUpdate()方法?
我有一个侦听用户clicks..and的小部件,我在onUpdate()中响应它。问题是,即使我将小部件添加到主屏幕,onUpdate()也会执行。
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
if(flag)
{
Toast.makeText(context, "OFF", Toast.LENGTH_SHORT).show();
flag=false;
}
else
{
Toast.makeText(context, "ON", Toast.LENGTH_SHORT).show();
flag=true;
}
}或者,如果不是在onUpdate()方法中,我如何响应用户点击?
发布于 2012-11-13 20:36:52
问题是,即使我将小部件添加到主屏幕,onUpdate()也会执行。
这不是一个“问题”。当用户将应用程序小部件添加到主屏幕时,需要调用onUpdate(),以便您可以定义应用程序小部件的外观。
,或者如果不在onUpdate()方法中,我如何响应用户的点击?
欢迎您在应用程序小部件中通过按钮等方式使用任何PendingIntent。PendingIntent不必路由回onUpdate()方法。
另外,我注意到上面的代码片段假设有一个名为flag的数据成员(或者可能是静态数据成员)。请记住,您的进程并不总是在应用程序小部件更新之间存活下来。因此,任何类型的“标志”都需要永久存储在某个地方:数据库、SharedPreferences或其他形式的文件。
https://stackoverflow.com/questions/13360590
复制相似问题