gpt4 book ai didi

java - onProgressUpdate 未被调用 android

转载 作者:行者123 更新时间:2023-12-01 21:15:29 25 4
gpt4 key购买 nike

我在onCreate中有这个GetAllUsers();并且我有这个

private void GetAllUsers() {
(new LoadingUsers(this)).execute();
}

然后我有这个

private class LoadingUsers extends AsyncTask < Void, Integer, String > {
String TAG = getClass().getSimpleName();
AlertDialog.Builder builderSingle;
ArrayAdapter < String > arrayAdapter;@
SuppressWarnings("unused")
Context mContext;

public LoadingUsers(Context context) {
super();

mContext = context;

}

protected void onPreExecute() {
// prgDialog.show();
// builderSingle = new
Log.d(TAG + " PreExceute", "On pre Exceute......");
}

protected String doInBackground(Void...arg0) {

Log.d(TAG + " DoINBackGround", "On doInBackground...");
return null;
}

protected void onProgressUpdate(Integer...a) {
super.onProgressUpdate(a);
Log.d(TAG + " onProgressUpdate", "You are in progress update ... " + a[0]);


}

protected void onPostExecute(String result) {
// prgDialog.hide();
Log.d(TAG + " onPostExecute", "" + result);


MainActivity.this.pd.dismiss();
}
}

我想在 protected void onProgressUpdate(Integer... a) { 中放置一个 builderSingle = new AlertDialog.Builder(MainActivity.this); ,它有一个AsyncHttpClient client = new AsyncHttpClient(); 但不幸的是 onProgressUpdate 根本没有被调用。我知道这一点是因为日志没有显示。除了我也有的 onProgressUpdate 之外,所有其他 log 都显示

@
Override
protected void onDestroy() {
super.onDestroy();
Log.i(TAG, "On Destroy .....");
}

@
Override
protected void onPause() {
super.onPause();
Log.i(TAG, "On Pause .....");
}

@
Override
protected void onRestart() {
super.onRestart();
Log.i(TAG, "On Restart .....");
}

@
Override
protected void onResume() {
super.onResume();
Log.i(TAG, "On Resume .....");
}

@
Override
protected void onStart() {
super.onStart();
Log.i(TAG, "On Start .....");
}

@
Override
protected void onStop() {
super.onStop();
Log.i(TAG, "On Stop .....");
}

OnStartOnResume 也正在记录。

为什么 onProgressUpdate 没有被调用?如何正确调用onProgressUpdated?

更新

onPostExecute 也在 onProgressUpdate 上被调用

最佳答案

每次从 doInBackground(在后台线程上)调用 publishProgress 时,都会在主线程上调用

onProgressUpdate。如果您选择使用此功能,则是为了您的方便。如果您的任务涉及某种循环,那么它主要有用,在这种情况下您可以在每次迭代时调用 publishProgress。如果您的任务只是调用一些其他代码,并且所有处理都发生在您无法控制的地方,那么 publishProgress/onProgressUpdate 机制对您没有用处。在这种情况下,您可能决定在开始任务之前显示不确定的进度栏,然后在任务完成后隐藏不确定的进度栏。

关于java - onProgressUpdate 未被调用 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40254173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com