2

Android 用の Phonegap Datepicker プラグインを使用しています。

画面を開いたときに日付ピッカーが表示されません。このエラーが発生しています。

09-13 22:37:55.894: E/Web コンソール (13123): キャッチされていない TypeError: file:///android_asset/www/index.html:689 で未定義のメソッド 'show' を呼び出せません

私のコードは次のようになります:

<div data-role="controlgroup">
    <p>
        <label for="airportName">Airport</label> <input type="text" name="airportName" id="airportName" class="custom" />
        <label for="selectDate">Date</label> <input type="text" name="selectDate" id="selectDate" class="nativedatepicker" />            
    </p>

そして、私は次のようなイベントハンドラーを使用しました

$('.nativedatepicker').click(function(event) {
    var currentField = $(this);
    var myNewDate = Date.parse(currentField.val()) || new Date();

    // Same handling for iPhone and Android
    window.plugins.datePicker.show({
        date : myNewDate,
        mode : 'date', // date or time or blank for both
        allowOldDates : true
        }, function(returnDate) {
            var newDate = new Date(returnDate);
            currentField.val(newDate.toString("yyyy-MM-dd"));

            // This fixes the problem you mention at the bottom of this script with it not working a second/third time around, because it is in focus.
            currentField.blur();
    });
});

ドキュメントに示されている通常の例とは別に、このプラグインがどのように使用されているかの例を見ることができるリンクはありますか?

4

1 に答える 1

5

あなたがしなければならないことは、変化することです。そうでなけれDatePickerPlugin.javaば、新しいものでCordova 2.0はうまくいきません。このファイルの 2 行を変更すると、from を呼び出してJavascriptも問題はなくなります。変化する:

  final DroidGap currentCtx = (DroidGap) ctx.getContext();

このため:

  final Context currentCtx = cordova.getActivity();

これを見つけます:

  ctx.runOnUiThread(runnable);

次のように置き換えます。

  cordova.getActivity().runOnUiThread(runnable);

詳細については、このスレッドを参照してください: datePicker プラグインが Phonegap 2.0 で機能しない

于 2012-10-01T08:49:11.950 に答える