Android AsyncTask在完成工作后返回值

吾生也有涯,而知也无涯。这篇文章主要讲述Android AsyncTask在完成工作后返回值相关的知识,希望能为你提供帮助。
这是我的第一篇文章。我为不好的英语道歉。我已经阅读了很多关于这个主题的问题。
编写一个应用程序,从服务器上的数据库向客户端下载电话号码和消息。

public class Connect extends AsyncTask< String,Integer,ArrayList< CUSTOMER> > { ArrayList< CUSTOMER> clients= new ArrayList< CUSTOMER> (); if(type.equals("login")) { //... conection code while((line = bufferedReader.readLine())!= null) { if (line.equals(error)) {break; } else {result += line + " "; String podziel = new String(line); String[] tab = null; tab= podziel.split("; "); for (int i = 0; i < tab.length; i++) { Log.e("peta "+Integer.toString(i), tab[i]); } licznik++; CUSTOMER C= new CUSTOMER(Integer.parseInt(tab[0]), tab[1], tab[2]); clients.add(C); Thread.sleep(3000); //Log.e("k ", clients.get(0).getId()+" "+clients.get(0).getNumer()+" "+clients.get(0).getDescryption()+" "); } }return clients; }

1:
public class MainActivity extends AppCompatActivity {ArrayList< CUSTOMER> to_sent= new ArrayList< CUSTOMER> (); public void conn(View view){ String type="login"; Connect connect = new Connect(this, type); to_sent=connect.execute(domena,DB_name, name, password, ip).get(); } }

2:
public class MainActivity extends AppCompatActivity {ArrayList< CUSTOMER> to_sent= new ArrayList< CUSTOMER> (); public void conn(View view){ String type="login"; Connect connect = new Connect(this, type); connect.execute(domena,DB_name, name, password, ip).get(); to_sent=connect.clients; } }

3:
public void sent(View view) { String type="sent"; Connect connect = new Connect(this, type); connect.clients=to_sent; connect.execute(domena,DB_name, name, password, ip); }

【Android AsyncTask在完成工作后返回值】如果他使用第一种方法,则无法看到UI块和ProgresDialog。另一个在我看来不正确,但它与ProgresDialog正常工作。尽可能简单地将ArrayList客户端返回到Main Activity?我需要这个数组到下一个按钮。
如果我写错了,请告诉我。
答案你错过了AsyncTask的全部内容。它不返回值,因为它并行执行。如果你要等到它完成,那么根本不会使用AsyncTask。任务完成后需要完成的任何代码都应该放在onPostExecute中。

    推荐阅读