Activate a view


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 );