Может быть, простой вопрос, но у меня много проблем с тем, чтобы кнопка изменяла вид приложения Flex blackberry playbook. Я кодирую его полностью в ActionScript, без MXML.
myButton.addEventListener(MouseEvent.CLICK, doSomethingOnClick);
private function doSomethingOnClick(e:MouseEvent):void {
navigator.pushView(view.Login, "testdata");
}
Когда я пробую это, я получаю:
1120: Доступ к неопределенному навигатору свойств.
Что странно, так как это работает в файле MXML. Как мне изменить представления в ActionScript?
Спасибо Фил
РЕДАКТИРОВАТЬ: Приветствуйте J_A_X, но теперь у меня есть:
navigator = new ViewNavigator();
navigator.pushView(net.airpoint.assessments.view.Login, " ");
TypeError: ошибка № 1009: невозможно получить доступ к свойству или методу ссылки на нулевой объект.
Приношу свои извинения, поскольку я понимаю, что это действительно простая вещь, но она просто не щелкает!
Обновление 2 * Assessments.as *
package
{
import flash.display.Sprite;
import flash.events.Event;
import net.airpoint.assessments.view.*;
import qnx.ui.core.Container;
import qnx.ui.core.ContainerAlign;
import qnx.ui.core.ContainerFlow;
import qnx.ui.core.Containment;
import qnx.ui.text.Label;
import spark.components.ViewNavigator;
[SWF(height="600", width="1024", frameRate="30", backgroundColor="#FFFFFF")]
/* Main Layout */
public class Assessments extends Sprite
{
//containers
private var main:Container;
private var menu:Container
private var firstLabel:Label;
private var navigator:ViewNavigator;
public function Assessments()
{
initializeUI();
}
private function initializeUI():void
{
main = new Container();
main.padding = Vector.<Number>([20,20,20,20]);
main.flow = ContainerFlow.HORIZONTAL;
main.debugColor = 0xFFCC00;
firstLabel = new Label();
firstLabel.text = "First label";
firstLabel.size=35;
main.addChild(firstLabel);
addChild(main);
navigator = new ViewNavigator();
navigator.pushView(Login, " ");
}
}
}
Login.as
package net.airpoint.assessments.view
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import qnx.ui.buttons.Button;
import qnx.ui.core.Container;
import qnx.ui.text.Label;
import qnx.ui.text.TextInput;
import spark.components.View;
public class Login extends View
{
private var usernameLabel:Label;
public function Login()
{
initializeUI();
}
public function initializeUI():void
{
usernameLabel.text = "test";
this.addChild(usernameLabel);
}
}
}
Login
будет работать, пока он импортирован. И, наконец, вы хотите добавить ViewNavigator в список отображения, выполнивaddElement(navigator)
. - person J_A_X   schedule 12.04.2011