3

奇妙な問題があります。最近、Phonegap と Xcode を使用して iOS 用のアプリを開発しました。うまくいきました。App Store にあり、すべてうまくいきました。要素の 1 つは、HTML で記述された単純な電子メール フォームです。次のようになります。

<form name="emailformbtn" id="emailformbtn" onsubmit="submitHandler(e);" action="#emailfromBtn">
                    To: <input type="email" name="emailvarto"/>
                    Message:<textarea cols="40" rows="8" id="emailmessagebtn" name="emailmessage">Email Message</textarea>
                    <input type="button" value="send" onsubmit="submitHandler(e);" onclick="emailProcessfromBtn();"/>
                </form>

Phonegap と Jquery モバイルを使用して ios で動作します。そこで、アプリを Android に変換することにしました。すべての ObjectiveC を Java に変換すると、残りは両方とも Phonegap/Cordova であるため、機能するはずです。

Cordova 2.0 と Android 4.1 を使用しています

多くの場合はそうですが、メールフィールドの入力に触れようとすると何もせず、Eclipse は次のメッセージを表示します。

The View is not attached to a window. 

Phonegap/Cordova 要素です。何を言おうとしているのかさえわからない。Android と Jquery モバイルに問題がありますか、それとも phonegap を使用して Android の入力フィールドに触れてもネイティブ キーボードが呼び出されませんか?

この問題に関する指示やアドバイスをいただければ幸いです。

わかりやすくするために、Phonegap の構成ガイドに従って手紙を書きましたが、Activity.java ファイルの内容は次のとおりです。

package uk.co.testdevelopment.testapp.droidapp;

import android.os.Bundle;
import android.view.Menu;
import org.apache.cordova.*;

public class MainActivity extends DroidGap {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.loadUrl("file:///android_asset/www/index.html");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}
}
4

2 に答える 2

1

あなたの活動は拡大していて、そうでは'DroidGap'ありません'Activity'か?これは間違いなく奇妙に聞こえ、html と関係があるというよりは、cordova 構成の問題のように見えます。

于 2012-09-11T14:26:59.530 に答える
0

問題は、インフレートを呼び出していると指定したメニューにあるようです。ICS以降では、メニューは、メニューにアクセスしたときではなく、アプリを最初に実行したときに作成されます。ビューエラーを取り除くために、メニューコードを削除することをお勧めします。

ところで:ビューはAndroidビューのルート要素にアタッチする必要があります。これは通常DroidGapによって処理されます。DroidGapにはメニューハンドラーもあります。Android4.x用のハイブリッドアプリを開発するには、メニュープラグインの使用またはCordovaWebViewアプローチの使用を検討することをお勧めします。

于 2012-09-11T20:58:45.897 に答える