这里有一些我不理解的东西......
我定义了类
public class SendStringToServer extends AsyncTask<String, Integer, Boolean>
{
.
.
.
}
现在,我强调了'onPostExecute'方法,并通过使用
从主活动调用此后台操作 new SendStringToServer().execute("stringToSend");
现在,我如何从主要活动中了解到这一行动已经完成? 我可以从主要活动中知道这个字符串已经发送了吗?
答案 0 :(得分:3)
使用此方法检查AsyncTask的状态:
asynctask.getStatus();
(更多信息:http://developer.android.com/reference/android/os/AsyncTask.html#getStatus%28%29)
此处还可查看可能的结果:http://developer.android.com/reference/android/os/AsyncTask.Status.html
希望这有帮助!
答案 1 :(得分:3)
试试这样:
public Handler myHandler= new Handler(){
@Override
public void handleMessage(Message msg){
if(msg.arg1 == 1){
//NOW in mainThread
}
}
};
public class SendStringToServer extends AsyncTask<String, Integer, Boolean>
{
.
.
.
onPostExecute(){
---------
-----------------
Message msg = myHandler.obtainMessage();
msg.arg1 = 1;
myHandler.sendMessage(msg);
}
}
答案 2 :(得分:0)
最简单的方法是在活动中创建一个全局标志
boolean sendComplete = false;
然后在你的onPostExecute之后
new SendStringToServer().execute("stringToSend");
只需添加
sendComplete = true;
答案 3 :(得分:0)
你需要在你的onpostexecute中使用一个事件,其中活动有一个监听器。