Android:如何执行AsyncTask?

Rob*_*Rob 5 xml android android-asynctask

我必须在我的应用程序中加载XML数据,我在我的活动类的子类中执行此操作,扩展AsyncTask,如下所示:

public class MyActivity extends Activity {

    ArrayList<Offre> listOffres;

    private class DownloadXML extends AsyncTask<Void, Void,Void>
    {
        protected Void doInBackground(Void... params)
        {
            listOffres = ContainerData.getFeeds();
            return null;
        }
    }

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_liste_offres);

        DownloadXML.execute(); // Problem here !

        for(Offre offre : listOffres) { // etc }
    }
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何在这里使用execute(),我有以下错误:

无法从AsyncTask类型对非静态方法execute(Integer ...)进行静态引用

我猜一些参数但是什么?

谢谢.

Ovi*_*tcu 16

您需要创建DonwloadXML文件的实例并调用execute()该方法:

DownloadXML task=new DownloadXML();
task.execute();
Run Code Online (Sandbox Code Playgroud)

编辑:你应该也可以listOffers从你doInBackground()onPostExecute()方法返回你的方法并处理数组AsynTask.您可以查看这个简单的AsyncTask教程.


Ner*_*een 5

你应该这样称呼:

new DownloadXML().execute();
Run Code Online (Sandbox Code Playgroud)