Activation is the process of switching or linking to a view. When the new view is activated, the old view is deactivated, and the new view is marked as the current view. Applications can have only a single view active at any given point of time. The current active view is the view that interacts with the user and receives events and menu choices.
Activation of a view is done using any of the following methods:
View activation without custom message.
CCoeAppUi::ActivateViewL( TVwsViewId& aViewId )
View activation with custom message.
CCoeAppUi::ActivateViewL( TVwsViewId& aViewId TUid aCustomMessageId,
TDesC8& CustomMessage )Note: Deactivation of view is necessary before exiting from the application, if the application UI has an active view. This can be done using the
CCoeAppUi::DeactivateActiveViewL(
) function.The following code snippet shows activating a view:
void CNewAppUi::ActivateViewL(const TVwsViewId& aViewId,TUid aCustomMessageId,const TDesC16& aCustomMessage)
{
HBufC8* narrowMessage = HBufC8::NewLC( aCustomMessage.Size() );
TPtr8 ptr=narrowMessage->Des();
ptr.Copy( ( TUint8* )aCustomMessage.Ptr(), aCustomMessage.Size() );
CCoeAppUi::ActivateViewL( aViewId,aCustomMessageId,narrowMessage->Des() );
iCCoeAppUi->NotifyNextActivation( *iViewActivationObserver_Notify );
CleanupStack::PopAndDestroy( narrowMessage );
}