WEB开发网
开发学院手机开发Symbian 开发 Symbian 学习之不同应用程序的视图切换 阅读

Symbian 学习之不同应用程序的视图切换

 2010-03-19 15:49:00 来源:WEB开发网   
核心提示:1.在不同应用程序之间切换视图时,需要知道目标应用程序的UID和视图UID,Symbian 学习之不同应用程序的视图切换,本小节通过一个MySwitchTest示例程序演示如何在不同应用程序之间进行视图切换,在MyListView.h中加入代码如下:// UID of viewconst TUid KViewId =

1.在不同应用程序之间切换视图时,需要知道目标应用程序的UID和视图UID。本小节通过一个MySwitchTest示例程序演示如何在不同应用程序之间进行视图切换。在MyListView.h中加入代码如下:

// UID of view

const TUid KViewId = {1};

const TUid KCustomMessageUid = {1};

修改CMySwitchTestAppUi类的HandleCommandL()函数,使得接收到菜单命令时,切换到本章的MymultiView示例程序中的ListView视图。CSwitchTestAppui的HandleCommandL()函数的关键代码如下:

void CMySwitchTestAppUi::HandleCommandL(TInt aCommand)

{

switch ( aCommand )

{

case EAknSoftkeyBack:

case EEikCmdExit:

{

Exit();

break;

}

case EMySwitchTestCmdAppTest:

{

iEikonEnv->InfoMsg(_L("test"));

TVwsViewId listView (KUidMyMultiView, KUidListView);

// 消息数据的构造

TBuf8<1> buf;

buf.Append(3);

//切换到ListView视图。(不传递数据的切换方式,这里不使用)

//ActivateViewL(listView);

//切换到ListView视图,并设置列表的缺省选项

ActivateViewL(listView,KCustomMessageUid,buf);

break;

}

2.在视图切换过程中传递数据

一些复杂视图在创建的时候常常需要初始化参数,在视图切换过程中,这些参数可以通过ActivateViewL()函数传递。参考系统头文件 coeaui.h中CCoeAppUi类的定义:

class CCoeAppUi:public CCoeAppUiBase

{

.....

public:

void ActivateVIewL(const TVwsViewId& aViewId);

void ActivateViewL(const TVwsViewId& aViewId,TUid aCustomMessageId,

const TDesC8& aCustomMessage);

...

}

第二个ActivateViewL()函数可以再切换视图的时候传递数据,该函数的参数包括如下内容。

TVwsViewId& aViewId:与另一个ActivateViewL()函数定义的参数相同,用来标识视图。

TUid aCustomMessageId:消息UID,由目标视图定义并发布。

1 2 3  下一页

Tags:Symbian 学习 不同

编辑录入:coldstar [复制链接] [打 印]
赞助商链接