问题标签 [invalidation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
user-interface - 黑莓无效字段不会导致重绘
我正在编写一个黑莓应用程序。我有一个自定义列表字段,我可以在其中选择列表中的一个项目,将编辑屏幕推送到堆栈上。我编辑该项目并保存,当我弹出该屏幕以返回我的列表屏幕时,我想查看我刚刚在列表中反映的更新。我已经在其他只有 LabelFields 的屏幕上完成了此操作,并且效果很好。但是,对于列表屏幕,调用 invalidate() 似乎什么也没做。我知道该值已通过打印行正确保存,并且我看到列表字段中的 paint() 方法被调用。但是我可以让列表字段更新的唯一方法是从屏幕上删除它并重新添加它。这似乎是错误的。我究竟做错了什么?
wpf - ListBoxItem 高度未更新
我在另一个列表框中有一个列表框,在内部列表框中列表框的高度可能会增长或缩小。我的问题是,当内部项目缩小时,外部列表框不会重新呈现其高度。因此 - 在内部列表缩小之前保持先前的高度。
我在这里尝试了很多东西,包括所有类型的无效,应该更新的列表框项目的选择和取消选择等等 - 没有任何帮助....
谁能帮我解决这个问题?
谢谢,吉利
android - Android:如何让自定义视图部分重绘?
我有一个填满整个屏幕的自定义视图。(钢琴键盘)当用户触摸键时,它会invalidate()
被调用,整个键盘被重绘以显示触摸键的新状态。
目前视图非常简单,但我计划添加更多漂亮的图形。由于整个键盘是动态渲染的,因此重绘整个键盘的成本会更高。
所以我想,让我们看看部分重绘。现在我invalidate(Rect dirty)
用正确的脏区打电话。onDraw(Canvas canvas)
如果我确实想要部分重绘,我将我的方法设置为仅在脏区中绘制键。这导致这些键被绘制,但键盘的其余部分完全是黑色的/根本没有绘制。
我期望调用invalidate(Rect dirty)
会“缓存”当前canvas
,并且只“允许”在脏区域中绘制,我错了吗?
有什么办法可以实现我想要的吗?(一种“缓存”画布并只重绘脏区的方法?”
iphone - 如何正确地使 NSTimer 无效
我有一个带有名为 pressTimer 的 NSTimer 的 iPhone 应用程序,每次有人触摸此按钮时它都会关闭。问题是他们经常触摸按钮,我希望计时器在他们抬起手指时停止。所以我在我的 .h 中声明了 pressTimer 并在 .m 中合成了它,然后在我创建的 TouchDown 动作上分配并启动它。我在 TouchUpInside 操作中使用代码 [pressTimer invalidate] 应该取消计时器,因为它是一个全局变量。似乎可以很好地取消计时器,但是当我实际触发计时器时,即使我没有收到任何代码错误或警告,程序也会完全冻结。我是菜鸟,所以请不要太粗鲁:0
更新:控制台日志 - 谢谢大家!
c++ - C++ 中的容器失效是什么意思?
我今天在 C++ 容器的上下文中了解了这个术语invalidation
。谁能解释一下这是什么意思?
在循环容器时,似乎不允许您以某种方式修改容器的元素。但究竟是什么方式?
请帮助我理解这个话题。
谢谢,博达赛多。
c# - 为什么 Invalidate() 应该在控件之外调用然后它可以工作?
我正在使用 C# + winforms 开发软件。
我有一个包含几个 DataGridView 的 UserControl
我使用linq to sql用dataSource填充dataGridView,因为我需要刷新数据源来更新记录,所以我创建一个新的dataContext并再次分配数据源。
一开始我发现,虽然我重置了数据源,但是datagridview还是不能刷新,有人告诉我应该在datagridview上调用invalidate函数,我试过了。在一定程度上,它是有效的。但是如果我在 UserControl 的类中调用 Invalidate,它就不起作用了。
如果我在 UserControl 的类上创建一个公共函数,然后用 userControl.refreshRecord() 调用它,那么它就可以工作了。
有人可以指出我错过了什么吗?当有人调用 invalidate 时,它什么时候才能真正起作用?
提前致谢 !
iphone - 使 NSTimer 无效?
如果我有一个在 viewdidload 中启动的 NSTimer,那么在离开该视图时在哪里使它无效?是否也有必要发布它?
android - Android刷新StateListDrawable问题
我对 StateListDrawable 有一个奇怪的问题,或者(可能)我遗漏了一些东西。我为它创建了一个测试应用程序,并且发生了同样的问题。所以,这是我在文件 test_selection.xml 中的 StateListDrawable 资源
这是一个非常简单的选择器,为选定状态绘制红色,为未选定状态绘制白色矩形。
我的 main.xml 模板非常简单。我只是使用一个将所选内容用作背景的 TextView。
我的活动代码也很简单。
当 Activity 启动时,我尝试使用 SELECTED 值设置 Drawable(StateListDrawable)的状态。看起来一切都很简单....但问题是没有显示状态。如果稍后我单击一个按钮并执行 updateView() 方法,则状态会发生变化。我的问题在哪里?我哪里错了?
非常感谢 Max
android - Android - 简单的视图刷新
我不认为我的未来在于 Android 开发,因为我一直在最简单的事情上失败......
我有一个带有“Game Slot 1”标签的按钮。当用户点击它时,我成功地引导他们完成了一些他们创建新角色的活动。我将游戏名称保存在 SQLite 数据库中,下次启动应用程序时,我可以非常高兴地从数据库中动态地将“Game Slot 1”更改为该插槽游戏的名称。完美的。
但是,当我通过后退按钮返回该活动时,或者在所有后续活动中调用了 finish() 时,我到底如何让它以相同的方式更新视图?
我确定这与 onResume() 和 invalidate() 有关,但我似乎无法找到示例。
是否只是为了刷新 onResume() 上的一些 UI 元素而过度使用无效?
无论如何,你怎么用它,即使它是?
有没有更好的办法?
非常感谢您提供的任何帮助......只是尽量不要嘲笑这可能是多么简单!:)
干杯,詹姆斯
iphone - NSTimer 没有停止
我有一个带NSTimer *myTimer;
变量的类。在某些时候我会:
此外,我有一个方法:
当课程通过以下方式释放时,我会停止计时器:
现在,问题是当我释放课程时,计时器会不断地继续触发事件。难道我做错了什么?似乎从不调用 dealloc 方法,否则 myTimer 将为零,即使选择器被触发,它也不会进入if(myTimer)