Возможно, простой вопрос, но у меня много проблем с тем, чтобы заставить кнопку изменить вид приложения Flex Blackberry Playbook. Я кодирую его полностью в Actionscript , без MXML.
myButton.addEventListener(MouseEvent.CLICK, doSomethingOnClick);
private function doSomethingOnClick(e:MouseEvent):void {
navigator.pushView(view.Login, "testdata");
}
Когда я пытаюсь это сделать, я получаю:
1120: доступ к неопределенному навигатору свойств.
Что странно, так как работает в файле MXML. Как изменить представления в ActionScript?
Спасибо
Фил
EDIT:
Приветствие J_A_X, но теперь у меня есть:
navigator = new ViewNavigator();
navigator.pushView(net.airpoint.assessments.view.Login, " ");
Ошибка типа: ошибка # 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);
}
}
}