gpt4 book ai didi

android - Ext.device.notification.show 在 Phonegap 中创建错误 - Sencha Touch 2

转载 作者:行者123 更新时间:2023-11-30 03:01:46 25 4
gpt4 key购买 nike

我有一个 Sencha Touch 2 项目,一切都在网络浏览器中运行良好。控制台中没有错误,一切看起来都很好。然而,一旦我将它与 Phonegap 打包并在移动设备上运行,它就无法正常工作。

我在应用程序的两个地方使用了 ext.device.notification.show。起初,我在做 requires: 'Ext.device.*',虽然它在网络上运行,但应用程序无法在移动设备上运行,eclipse 会给我错误消息 Uncaught TypeError : 无法读取未定义的属性“名称”。我切换到 requires: Ext.device.Notification(准确的拼写和大小写),现在应用程序运行了,但是当我点击一个应该创建消息框的按钮时,我收到错误 Uncaught类型错误:无法调用未定义的方法“确认”。问题是我没有名为 confirm 的方法。在一种情况下,我有一个名为 confirmItem 的方法,但是对于应该调用消息框的第二个按钮,我没有远程接近“确认”的方法。

我将在下面发布其中一个 Controller (这个 Controller 具有 confirmItem 方法):

Ext.define('MyApp.controller.MainController',
{

extend: 'Ext.app.Controller',
requires: ['Ext.device.Notification'],

config:
{
refs:
{
mainView: 'mainview',

btnConfirm: 'mainview button[action=confirmItem]',

},
control:
{

'btnConfirm':
{
tap: 'confirmItem'
},
mainView:
{
onSignOffCommand: 'onSignOffCommand'
}
}
},


// Transitions
getSlideLeftTransition: function ()
{
return {
type: 'slide',
direction: 'left'
};
},

getSlideRightTransition: function ()
{
return {
type: 'slide',
direction: 'right'
};
},

onSignOffCommand: function ()
{

var me = this;

console.log('Signed out.');
loginView = this.getLoginView();
//MainView.setMasked(false);

Ext.Viewport.animateActiveItem(loginView, this.getSlideRightTransition());

},

confirmItem: function ()
{
Ext.device.Notification.show(
{
title: 'Confirm',
message: 'Would you like to Confirm?',
buttons: ['No', 'Yes'],
callback: function (button)
{
if (button == "Yes")
{
MyApp.app.getController('MainController')
.confirmPickup();
}
else
{
console.log('Nope.');
}
}

});
},

confirmPickup: function ()
{

var me = this;

var loginStore = Ext.getStore('LoginStore');
mainView = this.getMainView();
mainView.setMasked(
{
xtype: 'loadmask',
message: ' '
});

if (null != loginStore.getAt(0))
{
var user_id = loginStore.getAt(0).get('id');
var name = loginStore.getAt(0).get('name');
var winner = loginStore.getAt(0).get('winner');
}

if (winner === 1)
{
console.log('success');



}
else
{
console.log('fail');
}


}


});

我只是假设这是一个问题,因为每当我按下应该调用 confirmItem 的按钮时,我都会收到错误消息。我是否正确使用了 Ext.device.Notification,或者我是否遗漏了使其在 Phonegap 中工作所需的某些东西?

最佳答案

我找到了解决方案!从 Sencha Touch 的角度来看,就使用 requires: Ext.device.Notification 而言,一切都很好,但在 Phonegap 方面缺少一些东西。具体来说,我需要安装适当的插件。

打开终端并输入:Phonegap local plugin list 以查看当前安装的插件。我没有。我继续安装:

org.apache.cordova.device
org.apache.cordova.dialogs
org.apache.cordova.vibration

通过使用以下引用:http://docs.phonegap.com/en/3.0.0/cordova_device_device.md.html并从左侧的菜单中选择选项。

关于android - Ext.device.notification.show 在 Phonegap 中创建错误 - Sencha Touch 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22409544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com