我如何获得超过1个阵列?

时间:2014-05-22 15:52:42

标签: android android-asynctask

我正在创建一个游戏,在客户端我应该从服务器获取一些数组并将它们显示在屏幕上。我可以按X按钮X次以获得X阵列。

目前我正在使用此代码

 rollDiceButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            rollDice();

            try {
                int[] tempArray = new GetDiceTask().execute(socket).get();
                printDice(tempArray,pDice);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ExecutionException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

但是如果我不喜欢这个数组并且我想要另一个我不能使用AsyncTask,因为我得到了Cannot execute task: the task has already been executed (a task can be executed only once)的常见错误。

这是我的AsyncTask代码。

@Override
protected int[] doInBackground(Socket...params) {
    Socket soc = params[0];

    try {
        ObjectInputStream ois = new ObjectInputStream(soc.getInputStream());
        int[] tempArray = (int[]) (ois.readObject());
        return tempArray;
    } catch (IOException | ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return null;
}

有没有一种方法可以在没有该例外的情况下使用多个数组?

0 个答案:

没有答案