Question

I am try to do MessageList in blackberry using midlet, but whatever I do some expection comes up. Right now am getting NullPointerException. Here is the code

EncodedImage indicatorIcon = EncodedImage.getEncodedImageResource("img/indicator.png");
   ApplicationIcon applicationIcon = new ApplicationIcon(indicatorIcon);
   ApplicationIndicatorRegistry.getInstance().register(applicationIcon, false, false);

   ApplicationMessageFolderRegistry reg = ApplicationMessageFolderRegistry.getInstance();
   MessageListStore messageStore = MessageListStore.getInstance();
   if(reg.getApplicationFolder(INBOX_FOLDER_ID) == null)
   {
       ApplicationDescriptor daemonDescr = ApplicationDescriptor.currentApplicationDescriptor();
       String APPLICATION_NAME = "TestAPP";
       ApplicationDescriptor mainDescr = new ApplicationDescriptor(daemonDescr, APPLICATION_NAME, new String[] {});
       ApplicationFolderIntegrationConfig inboxIntegration = new ApplicationFolderIntegrationConfig(true, true, mainDescr);
       ApplicationFolderIntegrationConfig deletedIntegration = new ApplicationFolderIntegrationConfig(false);

       ApplicationMessageFolder inbox = reg.registerFolder(MyApp.INBOX_FOLDER_ID, "Inbox", messageStore.getInboxMessages(),
                       inboxIntegration);
       ApplicationMessageFolder deleted = reg.registerFolder(MyApp.DELETED_FOLDER_ID, "Deleted Messages", messageStore.getDeletedMessages(), deletedIntegration);
       messageStore.setFolders(inbox, deleted);
   }
   DemoMessage message = new DemoMessage();
   String name = "John";
   message.setSender(name);
   message.setSubject("Hello from " + name);
   message.setMessage("Hello Chris. This is " + name + ". How are you?  Hope to see you at the conference!");
   message.setReceivedTime(System.currentTimeMillis());
   messageStore.addInboxMessage(message);
   messageStore.getInboxFolder().fireElementAdded(message);

Can someone suggest me a simple MessageList sample for midlet to just show a String in MessageList and custom ApplicationIndicator value. If possible OnClick of message bring back the midlet from background.

Was it helpful?

Solution

use the following code:

    static class OpenContextMenu extends ApplicationMenuItem {
        public OpenContextMenu( int order ) {
            super( order );
        }

        public Object run( Object context ) {
            if( context instanceof NewMessage ) {
                try {
                    NewMessage message = (NewMessage) context;
                    if( message.isNew() ) {
                        message.markRead();
                        ApplicationMessageFolderRegistry reg = ApplicationMessageFolderRegistry.getInstance();
                        ApplicationMessageFolder folder = reg.getApplicationFolder( Mes

sageList.INBOX_FOLDER_ID );
                    folder.fireElementUpdated( message, message );
                    //changeIndicator(-1);
                }

                Inbox inbox = message.getInbox();
                Template template = inbox.getTemplate();

                //Launch the mainscreen
                UiApplication.getUiApplication().requestForeground();
            }
            catch (Exception ex) {
                Dialog.alert();
            }
        }
        return context;
    }

    public String toString() {
        return "Name of the menu item";
    }
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top