从此AsyncTask获取作为int的返回

时间:2014-04-23 12:00:16

标签: java android android-asynctask return

在我的Android应用程序中,我以不同的方式制作AsyncTask,并且我想访问返回的整数,以便我可以在之后使用它。如何获取返回值,因为当我尝试将myBPM作为变量调用时,它要求使用AsyncTask而不是int。我如何获得返回值并将其存储为int?感谢

 AsyncTask myBPM = new AsyncTask<Void, Void, Integer>(){

            ...

                return BPM;  //integer value

            }



        }.execute();

3 个答案:

答案 0 :(得分:0)

AsyncTask<String, String, Integer> integervalue= new Download().execute("");

和类声明

答案 1 :(得分:0)

我不确定我是否明白你的观点,但你可以像这样使用onPostExecute() from AsyncTask

private class AsyncTaskBPM extends AsyncTask<Void, Void, Integer> {
 protected Integer doInBackground() {

     // ...do your stuff

     return result
 }

 protected void onPostExecute(Integer result) {
     // ...here you can access your result passed as an integer
     // You don't need to return this. You can just proceed in this method.
 }

}

ps:未经测试的代码。直接进入这里。

答案 2 :(得分:-1)

class MyAsync extends AsyncTask<String, String, String>
{
        @Override
        public String doInBackground(String... params)
        {
                   String str = "4";
                   return str;
        }
}

无论您在何处调用此asynctask,请按照以下代码进行操作:

AsyncTask<String, String, String> execute = new MyAsync().execute();
try
{
    String string = execute.get();
    System.out.println("Resulted Int :: " +Integer.valueOf(string));
}
catch (Exception e)
{
    // TODO Auto-generated catch block
    e.printStackTrace();
}