Android 为什么第二次执行我的AsyncTask会显示结果;附于;第一次执行的那些?
因此,我的活动中有一个SearchView,当用户按search按钮执行search时,AsyncTask由类似Android 为什么第二次执行我的AsyncTask会显示结果;附于;第一次执行的那些?,android,android-asynctask,callback,Android,Android Asynctask,Callback,因此,我的活动中有一个SearchView,当用户按search按钮执行search时,AsyncTask由类似new MyTask().execute()的命令执行 在这个MyTask中,我们使用一个基于SOAP的web服务,SOAP调用的结果以ArrayList的形式从MyTask的doInBackground返回。此ArrayList作为MyTask的onPostExecute中的参数接收,我从中回调了调用AsyncTask的活动: @Override protected void onP
new MyTask().execute()的命令执行代码>
在这个MyTask中,我们使用一个基于SOAP的web服务,SOAP调用的结果以ArrayList的形式从MyTask的doInBackground
返回。此ArrayList作为MyTask的onPostExecute
中的参数接收,我从中回调了调用AsyncTask的活动:
@Override
protected void onPostExecute(List<MyType> myList) {
//****HERE I HAVE A CHECK WHICH PRINTS VALUES IN myList
callingActivity.processResults(myList);//callingActivity is an object of the calling activity
}
编辑2
@Override
protected void onPostExecute(List<MyType> list) {
jbProgressIndicator.setVisibility(View.GONE);
/**
* check
*/
Log.i(TAG, "________________________\n");
for (MyType entry : list) {
Log.i(TAG, "Name:> " + entry.getName() + "\n");
}
Log.i(TAG, "________________________\n");
callingActivity.processResults(list);
}
@覆盖
受保护的void onPostExecute(列表){
jbProgressIndicator.setVisibility(View.GONE);
/**
*检查
*/
Log.i(标记为“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuun”);
对于(MyType条目:列表){
Log.i(标记“Name:>”+entry.getName()+“\n”);
}
Log.i(标记为“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuun”);
调用Activity.processResults(列表);
}
如果看不到代码,很难回答…调用Activity.processResults()时会发生什么;我猜阿尔法辛想要同样的密码。。。如果不纠正我:-)。。。适配器将非常有用,您可以了解如何将新数据/适配器设置为ListView。。。请稍等alfasin,也许他想看其他东西,所以你不需要在neo+上发布twiceAgree的内容。我想看看processResults()
和processResults()内部的情况
-在我们看了这段代码之后,当列表到达onPostExecute时,我们可能会要求更多…@安慰-它是否已经包含重复的数据?
@Override
protected void onPostExecute(List<MyType> list) {
jbProgressIndicator.setVisibility(View.GONE);
/**
* check
*/
Log.i(TAG, "________________________\n");
for (MyType entry : list) {
Log.i(TAG, "Name:> " + entry.getName() + "\n");
}
Log.i(TAG, "________________________\n");
callingActivity.processResults(list);
}