Tag: 观察者模式

我如何知道Observer类在Java中发送的通用对象?

我正在使用Java实现Observer / Observable模式。 但是,我在代码的Observer部分遇到问题。 可观察 public class Model extends Observable { public void notify() { this.setChanged(); this.notifyObservers(new ArrayList()); this.notifyObservers(new ArrayList()); } } 观察 public class View implements Observer { @Override public void update(Observable observable, Object object) { // TODO: If object is ArrayList? System.out.println(“A”); // TODO: If object is ArrayList? System.out.println(“B”); } } 我如何填写TODO注释以检查ArrayList上的generics? 这有可能吗? […]

针对事件的Android自定义侦听器

我正在尝试在更新整数值时触发事件,但它失败了。 这是我正在使用的代码: 声明自定义侦听器 public class fieldactivity extends AppCompatActivity implements View.OnClickListener { OnModeUpdate modeupdate; //Create custom listener for mode update int mode = 1; 模式更新代码 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fieldsignals); Button button = (Button) findViewById(R.id.mode_rotate_button); button.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case(R.id.rotate_button): mode += 1; modeupdate.onEvent(); //Fire Custom Lisentener […]

在java中避免使用instanceof运算符时观察多个observable?

如果我有一个对象,我希望能够观察其他几个可观察对象,而不是所有相同的类型。 例如,我希望A能够观察B和C.B和C完全不相关,除了它们都实现了Observable。 显而易见的解决方案是在更新方法中使用“if instanceof”,但很快就会变得混乱,因此我想知道是否还有其他方法?