+ Start a Discussion

AddSelected Custom List Button

I wanted to create a list view button, that will update all of the status that the users selects on the list view screen. (Salesforce Declarative Screen. )

When running the custom button I am getting the below error. 

System.UnexpectedException: Cannot add() on a class java.util.Arrays$ArrayList
Error is in expression '{!SubmitAllRequests}' in component <apex:page> in page submitall: External entry point

Is there anyway to do this without using JavaScript? Or having the records on a screen. The end result will be that whatever the user selects if conditions are met on the records will update the records accordingly. I am assuming based on the error that Salesforce doesnt allow add to their array class. Anythoughts on how to get around this? 

public with sharing class SubmitAllButton{

    Id CurrentUserID = UserInfo.GetUserID();
    set<id> UserSelect= new set<id>();
    private ApexPages.StandardSetController standardController;

    public SubmitAllButton(ApexPages.StandardSetController standardController)
        this.standardController = standardController;
    public PageReference SubmitAllRequests() {
       List<Object__c> Newrecordss= (List<Object__c>) standardController.getSelected();
       for(Object__c newrecords: Newrecordss)
            system.debug('UserStartDates' + UserStartDates);
         for (Object__c UnSubmittedRequests: [SELECT Id, Next_Step__c, CreatedById, Attachement__c   FROM Object__c WHERE id=: UserSelect
         and CreatedById =: CurrentUserID  ])
                if (UnSubmittedRequests.Next_Step__c == null && UnSubmittedRequests.Attachement__c != True){
                system.debug('UnSubmittedRequests' + UnSubmittedRequests);
                Object__c NewRecords = new Object__c ();
                NewRecords.id = UnSubmittedRequests.id;
                NewRecords.Next_Step__c = 'Request Review';
                 Newrecordss.add(NewRecords);   // this is where the error occurs. 
               update Newrecordss;
                return redirectToList();
            public PageReference redirectToList()  {
            Schema.DescribeSObjectResult result = ADR__c.SObjectType.getDescribe();
            PageReference pageRef = new PageReference('/' + result.getKeyPrefix());
            return pageRef;

The page isnt doing anything except call the method to update

<apex:page standardController="Object__c" extensions="SubmitAllButton" recordSetVar="selected" action="{!SubmitAllRequests}">

Best Answer chosen by Bob.390672021994282E12
opps, I see. 

In case someone is wondering how this can be done. Add the below

list<object__c> Results = new list <object__c>();


update Results