4

EditTextCellのonBrowserEventをJavascriptからプログラムで呼び出す方法は?

ユーザーがセルをクリックしたときに呼び出されるcustomEditTextCellのonBrowserEventをオーバーライドします。他のイベントからも電話したいです。

public void onBrowserEvent(Context context, Element parent, String value,
        NativeEvent event, ValueUpdater<String> valueUpdater) { 
     // my custom code is here
   }

セルをクリックすると、上記のメソッドが呼び出され、1つのjQuery(ピッカー)ポップアップが開きます。jQueryポップアップに[完了]ボタンがあります。

[完了]ボタンをクリックすると、上記のgwt-javaメソッドを呼び出したいのですが、どうすればよいですか?

Javascriptからjava-gwtメソッドを呼び出すことができることは知っていますが、コンテキスト、親、値、イベント、valueUpdaterなどのパラメーターを渡すときに問題が発生します

コンテキスト、親、値、イベント、valueUpdaterパラメーターをJavascriptからgwt-javaメソッドに渡す方法は?

私のonmoduleで、registerOnBrowserEventForDateTimePicker()次のメソッドを呼び出して記述しました。これは間違っています。gwtcのコンパイルに失敗しました。修正してください。

MyClass.java

public static native void registerOnBrowserEventForDateTimePicker()  /*-{       
                $wnd.callOnBrowserEventForDateTimePicker =$entry@ui.gwtmassupdateui.client.widgets.TimestampPickerCell::
                callOnBrowserEventForDateTimePicker(com/google/gwt/cell/client/Cell/Context,com/google/gwt/dom/client/Element,Ljava/lang/String,com/google/gwt/dom/client/NativeEvent,com/google/gwt/dom/client/NativeEvent);
    }-*/;

同じもののサンプルコードまたはそれを正しく行うためのポインタ

4

1 に答える 1

0

メソッドのコンテキストを保持する別の匿名オブジェクトでそれを行います。このようなもの:

private Runnable contextCall;

public void onBrowserEvent(final Context context, final Element parent, final String value,
        final NativeEvent event, final ValueUpdater<String> valueUpdater) { 
    contextCall = new Runnable() {
        public void run() {
            // my custom code is here
        }
    };

    contextCall.run();
}

public void callOnBrowserEventForDateTimePicker() {
    contextCall.run();
}
于 2013-02-07T11:27:23.753 に答える