Android异步任务不工作
“onPreExecute()”上有错误 请参阅我的代码: 我有点困惑( 下载方法(loadDailyDownloadData)包含在不同的类中(调用Android异步任务不工作,android,Android,“onPreExecute()”上有错误 请参阅我的代码: 我有点困惑( 下载方法(loadDailyDownloadData)包含在不同的类中(调用AsyncTask是不同的类…) 没有AsynTask,我的功能运行正常这意味着如果我调用新的DownlaudTableActivity()。LoadDaily下载数据(strBusinessUnit、strExecutive、strertorycode、strUField1)
AsyncTask
是不同的类…)
没有AsynTask,我的功能运行正常这意味着如果我调用新的DownlaudTableActivity()。LoadDaily下载数据(strBusinessUnit、strExecutive、strertorycode、strUField1)此方法无需AsynTask直接执行,工作正常
请帮帮我
提前感谢看起来,您的DownlaudTableActivity()
确实没有运行。您不能启动活动,只需实例化它,您需要调用startActivity(Intent)
,为要启动的活动传递Intent
。
然而,您的代码看起来很奇怪。downloadttableActivity().LoadDaily下载数据(strBusinessUnit、strExecutive、strertorycode、strUField1)方法可以放在不扩展活动的类中,这样就不会有问题。希望这能有所帮助。谢谢,我对这一点不太清楚。。。但此处“@Override protected void onPreExecute(){this.dialog.setMessage(“下载表数据……);this.dialog.show();myProgress=0;}”上出现错误消息。是吗?@Nagkeeran Piraba,您的日志猫清楚地表明您正在尝试执行当前未运行的活动的方法。
public class ListRoutesActivity extends Activity {
public void onNextAction(View view){
if(selectedRoutes.size() > 0){
StringBuffer routeCode = new StringBuffer();
for(int i=0; i<selectedRoutes.size();i++){
routeCode.append("\'" + selectedRoutes.get(i) +"\'" +",");
}
routeCode.delete(routeCode.length() - 1,routeCode.length());
strUField1 = routeCode.toString();
new DailyDownldAsyncTask().execute();
// String s = new DownlaodTableActivity().loadDailyDownloadData(strBusinessUnit, strExecutive,strTerritoryCode,strUField1);
// System.out.println(" ---s - " + s);
}else{
Toast.makeText(ListRoutesActivity.this,"Please select the Route!",Toast.LENGTH_SHORT).show();
}
return;
}
public class DailyDownldAsyncTask extends AsyncTask<String, Integer, String> {
private final ProgressDialog dialog = new ProgressDialog(ListRoutesActivity.this);
int myProgress;
@Override
protected void onPostExecute(String result) {
System.out.println(" ---- result--- " + result);
if (this.dialog.isShowing()) {
this.dialog.dismiss();
}
Toast.makeText(ListRoutesActivity.this,"Download successfully",Toast.LENGTH_SHORT).show();
}
@Override
protected void onPreExecute() {
this.dialog.setMessage("Downloading Table Data.......");
this.dialog.show();
myProgress = 0;
}
@Override
protected String doInBackground(String... params) {
return new DownlaodTableActivity().loadDailyDownloadData(strBusinessUnit, strExecutive,strTerritoryCode,strUField1);
}
@Override
protected void onProgressUpdate(Integer... values) {
dialog.setProgress(values[0]);
}
}}
08-19 17:45:18.933: ERROR/AndroidRuntime(472): FATAL EXCEPTION: main
08-19 17:45:18.933: ERROR/AndroidRuntime(472): java.lang.IllegalStateException: Could not execute method of the activity
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.view.View$1.onClick(View.java:2144)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.view.View.performClick(View.java:2485)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.view.View$PerformClick.run(View.java:9080)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.os.Handler.handleCallback(Handler.java:587)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.os.Handler.dispatchMessage(Handler.java:92)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.os.Looper.loop(Looper.java:123)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.app.ActivityThread.main(ActivityThread.java:3683)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at java.lang.reflect.Method.invokeNative(Native Method)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at java.lang.reflect.Method.invoke(Method.java:507)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at dalvik.system.NativeStart.main(Native Method)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): Caused by: java.lang.reflect.InvocationTargetException
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at java.lang.reflect.Method.invokeNative(Native Method)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at java.lang.reflect.Method.invoke(Method.java:507)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.view.View$1.onClick(View.java:2139)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): ... 11 more
08-19 17:45:18.933: ERROR/AndroidRuntime(472): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@4054c798 is not valid; is your activity running?
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.view.ViewRoot.setView(ViewRoot.java:527)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.view.Window$LocalWindowManager.addView(Window.java:424)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.app.Dialog.show(Dialog.java:241)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at com.xont.controller.admin.ListRoutesActivity$DailyDownldAsyncTask.onPreExecute(ListRoutesActivity.java:164)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at android.os.AsyncTask.execute(AsyncTask.java:391)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): at com.xont.controller.admin.ListRoutesActivity.onNextAction(ListRoutesActivity.java:100)
08-19 17:45:18.933: ERROR/AndroidRuntime(472): ... 14 more