Android异步任务不工作
我通过创建一个对象从函数中调用它。进度框出现然后消失,但toast没有显示。(我删除了toast后面的代码,但即使是查询网页的代码也没有在doinBackground中执行)Android异步任务不工作,android,Android,我通过创建一个对象从函数中调用它。进度框出现然后消失,但toast没有显示。(我删除了toast后面的代码,但即使是查询网页的代码也没有在doinBackground中执行) 私有类MyTask扩展了AsyncTask{ MyTask(字符串p){ 输入=p; } 受保护的void onPreExecute(){ progressDialog=progressDialog.show(CheckitoutActivity.this,“,”正在加载。请稍候…,true); } 受保护的Void do
私有类MyTask扩展了AsyncTask{
MyTask(字符串p){
输入=p;
}
受保护的void onPreExecute(){
progressDialog=progressDialog.show(CheckitoutActivity.this,“,”正在加载。请稍候…,true);
}
受保护的Void doInBackground(Void…参数){
试一试{
makeText(getApplicationContext(),“GHJGFHGJL”,1000).show();
}
}
@凌驾
受保护的void onPostExecute(void结果){
progressDialog.disclose();
}
}
doInBackground不适用于调用。即使toast也不会显示。这是为什么。
doInBackground
方法是非UI线程,因此无法显示toast
因此,请使用runOnUIthread(this)
或onProgressUpdate
并确保使用.execute()
对象,如
objMytask.execute()
doInBackground
方法是非UI线程,因此无法显示toast
因此,请使用runOnUIthread(this)
或onProgressUpdate
并确保使用.execute()
对象,如objMytask.execute()代码>Toast
(您不能从doInBack()触摸UI线程,这就是为什么)在doInBackground()中不起作用,所以只需放置日志
protected Void doInBackground(Void... params) {
try
{
Log.e("AsyncTask","Inside the doInBackground()");
}
}
现在检查您的logcat
。。。如果显示了ProgressDailog
,那么您的AsyncTask
工作正常。Toast
(您不能从doInBack()触摸UI线程,这就是为什么)在doInBackground()中不工作,所以只需放置日志即可
protected Void doInBackground(Void... params) {
try
{
Log.e("AsyncTask","Inside the doInBackground()");
}
}
现在检查您的logcat
。。。如果显示了ProgressDailog
,则您的AsyncTask
工作正常。您无法在doInBackground方法中显示类似toast和dialog alert的UI。相反,您可以在asynkTask的postExecute方法中显示这些UI,而不能在doInBackground方法中显示toast和dialog alert等UI。相反,您可以在asynkTask的postExecute方法中显示这些UI您启动任务了吗?日志中是否有错误?任务是否已启动?日志中有错误吗?谢谢大家的帮助。当吐司被放在布袋里并安静地停止时,它似乎抛出了一个异常。谢谢你们的帮助。看起来,当吐司被放置在doinbackgroung中并安静地停止时,它抛出了一个异常。