Android Jellybean(PhoneGap)上的空白键盘输入?

时间:2012-08-24 19:03:34

标签: android cordova

我对Jellybean键盘有一个奇怪的问题。当我的用户升级他们的操作系统时,只要他们尝试使用键盘输入数据,它就不会输入。周期。

这很奇怪,因为你确实可以专注于文本区域,但键盘上的输入没有输出。

任何人都知道修复?为了更具体,我的平台是PhoneGap 1.9.0,项目中没有任何其他原始java文件,我的应用程序清单如下:

<application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:configChanges="orientation|keyboardHidden|screenSize">
        <activity
            android:name=".App"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

我的onCreate非常简单,也在下面:

public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      super.setIntegerProperty("loadUrlTimeoutValue", 60000);
      super.loadUrl("file:///android_asset/www/index.html");
      this.appView.setInitialScale(100);
    }

以下是Sencha Touch 2生成表单的来源:

config: {
        padding: 20,
        items: [
        {
            xtype: 'image',
            src: 'resources/img/logo-splash.png',
            width:250,
            height: 229,
            baseCls: 'login-splash'
        },
        {
            xtype: 'fieldset',
            defaults: {  
                required: true,  
                labelAlign: 'left',  
                labelWidth: '35%'  
            },  
            items: [  
            {  
                xtype: 'emailfield',  
                name : 'email',  
                label: 'Email',  
                clearIcon: true  
            }, {  
                xtype: 'passwordfield',  
                name : 'password',  
                label: 'Password',  
                clearIcon: true  
            }],

        }, 
        {
            xtype: 'button',
            text: 'Login',
            ui: 'action',
            id: 'loginBtn',
            baseCls: 'btn-orange ui-rd'
        }
        ]
    },

然后是Sencha的最终HTML输出(在webkit浏览器上查看):

<div class="x-inner x-form-fieldset-inner" id="ext-element-129"><div class="x-container x-field-text x-field x-label-align-left x-field-required x-field-labeled x-form-label-nowrap x-empty" id="ext-emailfield-1"><div class="x-form-label" id="ext-element-131" style="width: 35% !important; "><span id="ext-element-132">Email</span></div><div class="x-component-outer" id="ext-element-130"><div id="ext-input-1" class="x-field-input"><input id="ext-element-133" class="x-input-el x-form-field x-input-email" type="email" autocapitalize="off" name="email"><div class="x-clear-icon" id="ext-element-135"></div><div class="x-field-mask" id="ext-element-134"></div></div></div></div><div class="x-container x-field-text x-field x-label-align-left x-field-required x-field-labeled x-form-label-nowrap x-empty" id="ext-passwordfield-1"><div class="x-form-label" id="ext-element-137" style="width: 35% !important; "><span id="ext-element-138">Password</span></div><div class="x-component-outer" id="ext-element-136"><div class="x-field-input" id="ext-input-2"><input class="x-input-el x-form-field x-input-password" type="password" id="ext-element-139" autocapitalize="off" name="password"><div class="x-clear-icon" id="ext-element-141"></div><div class="x-field-mask" id="ext-element-140"></div></div></div></div></div>

谢谢!

澄清一下:问题恰好是当字段聚焦时键盘弹出,但是当你按下键时它不会填写文本

1 个答案:

答案 0 :(得分:1)

我能够通过将PhoneGap从1.9.0升级到2.0.0来解决此问题。

我不确定究竟是什么原因,但我也在这里向社区发帖:http://community.phonegap.com/nitobi/topics/blank_keyboard_input_on_android_jellybean

我的直觉是它与Cordova处理Javascript事件和键盘事件的方式有关。但是它现在正在运作。