1

新程序员。问题在底部。

我有一系列与车辆相对应的车队。我想使用队列阵列中的每个插槽对服务器进行连续调用。

我希望用 AsyncTask 来做到这一点。

private class refreshTruckInformation extends AsyncTask<URL, Void, Void> {


            @Override
        protected void doInBackground(URL... urls) {

        }

        @Override
        protected void onProgressUpdate(Integer... progress) {

        }

        @Override
        protected void onPostExecute(Void... voids) {

        }
    }

**如何传递我的队列数组以便我可以在我的 doInBackground 中使用它们?

我还希望有一个进度条,它基于它经过的车队百分比。有什么好的方法可以做到这一点?**

谢谢!

4

1 回答 1

2

**如何传递我的队列数组以便我可以在我的 doInBackground 中使用它们?

请记住,refreshTruckInformation 仍然是一个类。因此,您可以使用任何构造函数或 settier 方法来传递您的数组。

我还希望有一个进度条,它基于它经过的车队百分比。有什么好的方法可以做到这一点?**

从您的 doInBackground 方法中,您可以使用publishProgress方法发布进度。此进度参数将在onProgressUpdate方法中捕获

例如

private class RefreshTruckInformation extends AsyncTask<URL, Void, Void> {

        private int[] b;
        public RefreshTruckInformation (int[] a){
             // use array
             b = a;
        }

        public void setArray(int[] a){
             // use array
             b = a;
        }

            @Override
        protected void doInBackground(URL... urls) {

        }

        @Override
        protected void onProgressUpdate(Integer... progress) {

        }

        @Override
        protected void onPostExecute(Void... voids) {

        }
    }

并调用使用

RefreshTruckInformation r = new RefreshTruckInformation (yourArray);

或调用方法如

r.setArray(yourArray);

并执行

r.execute();
于 2013-06-24T15:20:33.000 回答