已更新:(请参见下文)我已经环顾了几天,却找不到直接的答案。有人说有可能说一些话来完成某些说不是。我对此感到疯狂。
我想要的只是让AsyncTaskTask向外部类显示进度条。为此,我传递了您在主类中看到的上下文。但是无论我尝试什么我都会得到NullPointerException
。
工作代码示例表示赞赏。谢谢
顺便使用Android 2.2。
主要:
import android.app.Activity;
import android.os.Bundle;
public class AsyncDemo extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new AsyncClass(this).execute();
}
}
AsyncClass.java
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.SystemClock;
public class AsyncClass extends AsyncTask<Void, String, Void> {
private Context context;
ProgressDialog dialog = new ProgressDialog(context);
public AsyncClass(Context cxt) {
context = cxt;
}
@Override
protected void onPreExecute() {
dialog.setTitle("Please wait");
dialog.show();
}
@Override
protected Void doInBackground(Void... unused) {
SystemClock.sleep(2000);
return (null);
}
@Override
protected void onPostExecute(Void unused) {
dialog.dismiss();
}
}
更新:
我有一个后续问题:使用上述代码,是否可以通过某种方式将onPostExecute方法中的值返回给主类?(对不起,蜜蜂变得笨拙)我已经尝试过以下方法:
String result = new AsyncClass(this).execute();
然后是一个返回字符串的方法。但是我不能这样做,因为我得到了:
Type mismatch: cannot convert from AsyncTask<String,Void,Void> to String
我该怎么做才能解决这个问题?谢谢。
您正在ProgressDialog
使用空上下文创建。以下代码对我有用。
public class AsyncClass extends AsyncTask<Void, String, Void> {
private Context context;
ProgressDialog dialog;
public AsyncClass(Context cxt) {
context = cxt;
dialog = new ProgressDialog(context);
}
@Override
protected void onPreExecute() {
dialog.setTitle("Please wait");
dialog.show();
}
@Override
protected Void doInBackground(Void... unused) {
SystemClock.sleep(2000);
return (null);
}
@Override
protected void onPostExecute(Void unused) {
dialog.dismiss();
}
}
你能帮帮我吗,我的代码在我尝试实现async任务以在我的应用程序中显示进度对话框之前运行,已经一周了,我尝试了几种解决方案但仍然是同样的问题,请有人纠正我的代码,我的代码是: 我的logcat显示错误: 05-31 12:13:09.437:I/编舞(698):跳过64帧!应用程序可能在其主线程上做了太多工作。05-31 12:13:10.159:我/编舞(698):跳过了60帧!应用程序可能在其
我在通知CursorAdapter数据已更改时遇到问题。 SQLite数据库用AsyncTask更新(有公共接口,ListFragment用listener实现),我尝试用onPostExecute刷新ListAdapter,但我真的不知道如何刷新。
问题内容: 如何从AsyncTask中获取数据?我的MainActivity正在调用触发AsyncTask的DataCall.getJSON函数,但是我不确定如何将数据返回到原始Activity。 调用DataCall的MainActivity应该返回一个字符串并将其保存在 数据通话: 问题答案: 对我来说,关键是创建一个名为URLWithParams的类或其他类,因为AsyncTask将只允许发
我想在android中从mysql数据库中检索数据,并在textview中显示 这是后台asynctask代码 }
我有一个类SomeActivity扩展了BaseListActivity。BaseListActivity扩展了ListActivity和所有工作的功能。 但当列表必须更新时,我使用AsyncTask使用远程服务器调用,该调用声明如下: 在那里,有一行可以像这样更新列表: 但这条线似乎起不到什么作用。 有什么不同之处可以让它发挥作用吗? 但例外情况并不准确。我能解决主机问题。在我添加BaseLis
客户表中的余额分为:储值余额和盈利余额 要求下单时订单金额优先从储值余额中扣除,其次盈利余额扣除 扣除储值余额,如返回的balance小于0为待扣除金额,说明还需要扣除盈利余额: <update id="deductBalance" parameterType="com.pay.business.domain.CustomDO" > <!-- BEFORE:更新语句执行前执行selectKe