I can't pass a String array to my AsyncTask
<p>The compiler error is "<code>The method execute(ArrayList&lt;String&gt;...) in the type AsyncTask&lt;ArrayList&lt;String&gt;,Void,ArrayList&lt;String&gt;&gt; is not applicable for the arguments (String)</code>"</p>

<p>Why wouldn't it accept the new parameter? can anyone see what i am doing wrong?</p>

<pre><code>   ArrayList&lt;String&gt; passing = new ArrayList&lt;String&gt;();
            passing.add(logicalUrl);
            passing.add("filename.pdf");
            new myTask().execute(logicalUrl);
            return true;
        }

    public class myTask extends AsyncTask&lt;ArrayList&lt;String&gt;, Void, ArrayList&lt;String&gt;&gt; {
        ProgressDialog dialog;

        @Override
        protected void onPreExecute() {
            dialog = new ProgressDialog(ModuleContents.this);
            dialog.setTitle("Downloading...");
            dialog.setMessage("Please wait...");
            dialog.setIndeterminate(true);
            dialog.show();
        }

        protected ArrayList&lt;String&gt; doInBackground(ArrayList&lt;String&gt;... passing) {
            ArrayList&lt;String&gt; passed = passing[0];
            String physicalUrl = parsePhysicalUrl(passed.get(0));
            String filename = passed.get(1);
            try {
                globals.saveFile(physicalUrl, filename);
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return passed;

        }
</code></pre>
