在GUI中,我有几个按钮.这些按钮分离了通过网络向服务器发送请求的工作线程.在单独的线程中,有一个侦听器接收来自服务器的响应.此响应通过Observer/Observable接口传递给工作线程正在执行方法的同一对象.
我需要做的是让工作线程等待来自与它们相关的服务器的响应.本质上,工作线程应该发送命令,然后等待一些指示接收到正确响应的条件.我可以想到多种方法(睡眠,轮询,等待,通知,监视器等),但有一种特殊的方法在这种情况下最好吗?
我有两个ListView想要滚动的对象.它们是并排的,所以如果一个滚动一定量,另一个滚动相同数量.我已经找到了一些关于如何做到这一点的例子,但我相信它们依赖于ListView相同高度的物品(如果我错了,请纠正我).我的一个物品中的物品ListView比另一物品中的物品高,跨越2-3个物品.
如何将这两个ListView物体"锁定" 在一起?
编辑:这是我所拥有的截图,也许它会更好地解释我的目标.左侧(红色)是项目列表,右侧是单独的列表.您可以看到列表如何不完美对齐,因此它不完全是网格.我想做的是让这个行为像一个大的列表,滚动任何一个列表也会滚动另一个.

我有2节课.我们称它们为A类和B类.A类包含一个执行某些动作的方法.B类使用自己的版本覆盖此方法,但会super在A类中调用该方法来执行操作.现在,这工作正常.但是,在A类中有一些操作只应在对象只是 A类的实例时执行.换句话说,如果对象是Class的子实例,则不应该发生A类方法中的某些操作.一个.
目前,我正在使用instanceof检查每个子项,但是我需要指定每个子类,因此如果以后添加新子项,则需要更新此方法.我想要的是一种确定对象是否是子类的动态方法.
有什么好的选择,还是instanceof要走的路?
public class A{
public void someMethod(){
// Only perform these actions if it is not a child class. This is what
// I am looking for a better solution for
if(!(this instanceof B)){
// Some action...
}
// Actions to execute for every call
}
}
public class B extends A{
@Override
public void someMethod(){
super.someMethod();
// More actions
}
}
Run Code Online (Sandbox Code Playgroud)
就像对设计的解释一样,我用它来生成XML.在程序中,我有一个List<A>存储数据.当需要输出XML时,我遍历列表并调用generateXML(someMethod在我的示例中取代它).
创建A类对象时,需要在 …