1

onclick イベントがあり、サーバーの応答に従って Web ページのいくつかのビューを更新する必要があります。リスナーとハンドラーを使用してこれを実装する最良の方法は何ですか? clickListener を作成してボタンにマップする必要があると思いますが、データをレンダリングする必要があることをビューに通知する方法がわかりません。たとえば、1 つのプレゼンター (Presenter と呼ばれます) と 3 つのビュー (View1、View2、View3) があります。そして最初の方法は、次のようなことをすることです:

public class Presenter {
    private View1 view1;
    private View3 view2;
    private View3 view3;
    private Button button;
    protected void doSmth() {
        button.setClickListener(new ClickListener() {
            view1.update();
            view2.update();
            view3.update();
        });
    }

}

しかし、それは明らかに悪いアプローチです。良い方法は(私が思うに)次のことです:

public class Presenter {
    private Button button;
    protected void doSmth() {
        button.setClickListener(new ClickListener() {
            //push object that will trigger handlers in views.
        });
}
//this is the same for all views
public class View {
    protected void handleClickInPresenter() {
    //render the data
    }
}

しかし、この方法で実装する方法がわかりません。助けを求めてください。ありがとうございます。

4

0 に答える 0