- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一个在水平滚动窗口中按列显示文本和图像的 View 。它重排,因此(至少可能)随着内容的变化而调整自己的大小;当软键盘来来去去以及 View 高度发生变化时,它也会重新排列和调整大小(保持大致恒定的区域)。
我发现调用 requestLayout()大部分时间都可以工作(从某种意义上说,它确实触发了对我的 onMeasure() 重载的调用)...但是当从我的 onSizeChanged() 调用时不处理程序。
我能够通过 post() 解决这个问题输入 Runnable调用 requestLayout()
然后 post()
ed 另一个 Runnable
调用我的代码需要在 onMeasure() 之后运行
...但这似乎有点脆弱(我不想添加延迟,但我确实想确保我的第二个 Runnable
确实在异步 之后执行onMeasure()
) 并且,可能是因为它通过事件循环的次数太多,屏幕闪烁太多。
是否有某种方法 - 在 onSizeChanged()
中 - 强制 onMeasure()
(可能还有另一个 onSizeChanged()
) 在下一个 onDraw() 之前发生?
最佳答案
我建议做一个回调类,也许两个
interface ImGonnaTellClassBThatClassAdidFinished(){
void ClassHasFinishedProcessing(String YaySuccess);
void ClassHasFailedProcessing();
void SomethingWackaDoodleHappened(String SomeShyte);
}
然后在需要执行功能时重载该类
public class FunctionA{
ImGonnaTellClassBThatClassAdidFinished someName = new ImGonnaTellClassBThatClassAdidFinished(){
@Override
void ClassHasFinishedProcessing(String YaySuccess){
//Well I should Call class B with the info then
//Heres Sting YaySuccess, Use it in the right way
}
void ClassHasFailedProcessing(){
//Well I failed and should let someone know
}
void SomethingWackaDoodleHappened(String SomeShyte){
//Well Something else happened and I have some info on it
}
//Dont forget to pass it to the class
ClassB doWorkMeow = new ClassB();
doWorkMeow.hereYouGo(someName);
}
请务必在完成后回电
class ActivityB(){
public void hereYouGo(ImGonnaTellClassBThatClassAdidFinished finished){
String itWorked = new String("Hooray");
finished.ClassHasFinishedProcessing(itWorked);
}
}
希望这对您有所帮助,祝您工作顺利。
关于android - 从 onSizeChanged() 调用 requestLayout() 没有效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14345287/
我正在使用 Gunicorn 为 Django 应用程序提供服务,它工作正常,直到我将其超时时间从 30 秒更改为 900000 秒,我不得不这样做,因为我有一个用例需要上传和处理一个巨大的文件(过程
我有一个带有非常基本的管道的Jenkinsfile,它可以旋转docker容器: pipeline { agent { dockerfile { args '-u root' } } stag
在学习 MEAN 堆栈的过程中,我遇到了一个问题。每当我尝试使用 Passport 验证方法时,它都不会返回任何响应。我总是收到“localhost没有发送任何数据。ERR_EMPTY_RESPONS
在当今的大多数企业堆栈中,数据库是我们存储所有秘密的地方。它是安全屋,是待命室,也是用于存储可能非常私密或极具价值的物品的集散地。对于依赖它的数据库管理员、程序员和DevOps团队来说,保护它免受所
是否可以创建像图片上那样的边框?只需使用 css 边框属性。最终结果将是没 Angular 盒子。我不想添加额外的 html 元素。我只想为每个 li 元素添加 css 边框信息。 假设这是一个 ul
我是一名优秀的程序员,十分优秀!