Ввод HTML-формы с помощью Android Phonegap в Eclipse

У меня странная проблема. Недавно я разработал приложение для IOS с использованием PhoneGap и XCode. Все прошло хорошо, они в App Store, все работало. Одним из элементов является простая форма электронной почты, написанная на 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>

Работает в IOS с использованием PhoneGap и JQuery Mobile. Поэтому я решил конвертировать приложение в Android. Преобразование всего ObjectiveC в Java, а остальные должны работать, потому что они оба Phonegap/Cordova.

Я использую Cordova 2.0 и Android 4.1

Многое из этого происходит, но когда я пытаюсь дотронуться до ввода поля электронной почты, оно ничего не делает, и Eclipse отображает сообщение:

The View is not attached to a window. 

Это элемент Phonegap/Cordova. Я даже не уверен, что он пытается сказать. Есть ли проблема с Android и Jquery mobile, или касание полей ввода в 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;
}
}

2 ответа

Вы уверены, что ваша деятельность расширяется 'DroidGap' и не 'Activity'? Это определенно звучит странно и больше похоже на проблему конфигурации Cordova, чем на все, что связано с вашим HTML

Похоже, что проблема связана с тем меню, которое вы указали, что вы вызываете надувать. С ICS и выше, меню создается при первом запуске приложения, а не при доступе к меню. Я бы порекомендовал удалить код вашего меню, чтобы избавиться от ошибки View.

Кстати: представления должны быть присоединены к корневому элементу представления Android, который обычно обрабатывается DroidGap. DroidGap также имеет обработчики меню, и вы можете захотеть взглянуть на это с помощью плагина меню или подхода CordovaWebView для разработки гибридного приложения для Android 4.x.

Другие вопросы по тегам