0

コンパイラ エラーは " The method execute(ArrayList<String>...) in the type AsyncTask<ArrayList<String>,Void,ArrayList<String>> is not applicable for the arguments (String)"です

新しいパラメーターを受け入れないのはなぜですか? 誰かが私が間違っていることを見ることができますか?

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

    public class myTask extends AsyncTask<ArrayList<String>, Void, ArrayList<String>> {
        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<String> doInBackground(ArrayList<String>... passing) {
            ArrayList<String> 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;

        }
4

4 に答える 4

1

あなたのメソッドはこれを好むはずです

 ArrayList<String> passing = new ArrayList<String>();
        passing.add(logicalUrl);
        passing.add("filename.pdf");

        **new myTask().execute(passing);**

        return true;

そして、このリンクをチェックしてください。あなたの質問に似ています

AsyncTask に引数を渡し、結果を返す

于 2012-06-09T15:29:22.610 に答える