Asynctask for cycle和substring

时间:2015-07-22 15:59:33

标签: android android-asynctask substring cycle

我正在开发一个实时比分应用程序:我正在使用asynctask,在doInBackground函数中,我从网上下载数据并详细说明。在doInBackground中有一个for循环,在其中有一个子字符串istruction。 问题在于,对于子串构造,for循环不会运行所有循环(使50个而不是100个循环)。如果我删除子字符串istruction它完全运行所有周期。 谁能帮我? (抱歉英语不好)

1 个答案:

答案 0 :(得分:0)

    protected String doInBackground(String... params) {
        int i=0;
        String casa=null;
        String trasferta=null;
        String Ris=null;
        String hinizio=null;



        try {
            Document doc = Jsoup.connect(URLind)
                    .userAgent("Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22")
                    .timeout(60000).get();

            Elements partite = doc.select(....);
            Elements Competizioni = doc.select(....);
            String comp=Competizioni.toString();
            String Competizione=null;
            if(ObjPartita.size()==0){


                for (i=0;i<=partite.size();i++){

                   //Some Jsoup Query
                    //ObjPartita.add(new Partita....)
                    Competizione=EstraiCampionato(comp,trasferta); //EstraiCampionato is a function that manipulate some String (substring, indexOf and conditions...)

                }


            }else{
                //Other Jsoup Query
                }

            }






        } catch (Exception e) {
            // gestione dell'eccezione
            // ad esempio mostrare messaggio di errore o altro (qui nel logcat)
            //Log.e("ESEMPIO", "ERRORE NEL PARSING");
        }
        return null;
    }

问题在于,如果我删除“EstraiCampionato”功能,for循环将完美地完成所有循环。相反,使用“EstraiCampionato”功能,它只运行循环的一部分(例如50而不是100 +)