Hirdetés

Új hozzászólás Aktív témák

  • thon73
    tag

    Találtam egy kérdéses részt az utolsó előtti részben, nekem kifagyás lett az eredménye, de lehet csak az én logikámban kell máshogy.
    StarTask metódusnál az indítás előtti feltételed:
    private void startTask(String route_id ,String stop_id){
    try {
    if (async_task == null || async_task.returnedResult !=null) {
    indulhat_a_task... }

    Ebben az esetben akkor is indul a háttér task, ha már lefutott, de már megvan az eredmény. Szerintem csak akkor kell futtatni, ha a task nem fut(ott), vagy ha nincs eredmény. Így a hibajelenség is megszűnt.

    if (async_task == null || async_task.returnedResult ==null) {

    Maga a task nem indulhat újra, de egy új példányt elindíthatsz belőle. Ha az AsyncTask értéke non-null (tehát van már futó/futott példány), és a returnedResult is értéket kapott, az azt jelenti, hogy ez az AsyncTask példány eredményesen végigfutott, csak azért tartottuk meg, hogy a returnedResult megmaradjon.
    A hiba nem itt lesz, hanem valószínűleg ott, hogy az újraindításnál ugyanezt a task példányt indítod el. De ez csak feltételezés, mert a többi kódrészletet is látni kellene. Mit ír a LogCat? Lefagy v. FC?

Új hozzászólás Aktív témák