gpt4 book ai didi

java - 如何防止我的小部件在首次运行时更新?

转载 作者:行者123 更新时间:2023-12-01 14:06:21 26 4
gpt4 key购买 nike

我正在尝试创建一个简单的小部件,并扩展了 AppWidgetProvider 并重写了 onUpdate 方法。

当我将小部件放在主屏幕上时,它会打开我在 XML 中定义的关联设置 Activity 。这似乎是合乎逻辑且合理的行为,但我可以看到它还调用 onUpdate 方法。由于我尚未配置小部件,因此 onUpdate 方法中的代码失败。

小部件放置在主屏幕上时调用 onUpdate 方法是正常行为吗? ...或者我做错了什么并且只能在设置 Activity 退出后调用它?

有什么方法可以检查我的 onUpdate 方法,确保在配置完成(即设置 Activity 完成)之前尚未调用小部件?

最佳答案

小部件放置在主屏幕上时调用 onUpdate 方法是正常行为。但是为了解决您的问题,您可以在 if block 内添加完整的 onUpdate 代码块,该代码块仅在配置完成后才会执行。 为此,您可以使用静态 boolean 标志,如果设置已完成,则该标志将为True,否则为false

你必须做这样的事情

public class ConfigActivity extends Activity {

Static Boolean flag=false;
App_setting()
{
flag=true;
//rest of configuration code
}
}

和你的 onUpdate 像这样

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
if(ConfigActivity.flag==true){
//block of code
}

关于java - 如何防止我的小部件在首次运行时更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com