Android 如何在片段中使用AsyncTask
我试图在片段中使用AsyncTask,但无法获得值。我在活动中使用它没有问题。但我不能做的碎片。我怎样才能解决这个问题。对不起我的英语 这是我的错误:Android 如何在片段中使用AsyncTask,android,android-fragments,android-asynctask,Android,Android Fragments,Android Asynctask,我试图在片段中使用AsyncTask,但无法获得值。我在活动中使用它没有问题。但我不能做的碎片。我怎样才能解决这个问题。对不起我的英语 这是我的错误: 03-25 11:19:19.659: E/AndroidRuntime(28730): FATAL EXCEPTION: AsyncTask #2 03-25 11:19:19.659: E/AndroidRuntime(28730): Process: com.isosoft.vale, PID: 28730 03-25 11:19:19.6
03-25 11:19:19.659: E/AndroidRuntime(28730): FATAL EXCEPTION: AsyncTask #2
03-25 11:19:19.659: E/AndroidRuntime(28730): Process: com.isosoft.vale, PID: 28730
03-25 11:19:19.659: E/AndroidRuntime(28730): java.lang.RuntimeException: An error occured while executing doInBackground()
03-25 11:19:19.659: E/AndroidRuntime(28730): at android.os.AsyncTask$3.done(AsyncTask.java:300)
03-25 11:19:19.659: E/AndroidRuntime(28730): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
03-25 11:19:19.659: E/AndroidRuntime(28730): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
03-25 11:19:19.659: E/AndroidRuntime(28730): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
03-25 11:19:19.659: E/AndroidRuntime(28730): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
03-25 11:19:19.659: E/AndroidRuntime(28730): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
03-25 11:19:19.659: E/AndroidRuntime(28730): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
03-25 11:19:19.659: E/AndroidRuntime(28730): at java.lang.Thread.run(Thread.java:841)
03-25 11:19:19.659: E/AndroidRuntime(28730): Caused by: java.lang.NullPointerException
03-25 11:19:19.659: E/AndroidRuntime(28730): at com.isosoft.vale.Kayit$AsyncCallWS.doInBackground(Kayit.java:401)
03-25 11:19:19.659: E/AndroidRuntime(28730): at com.isosoft.vale.Kayit$AsyncCallWS.doInBackground(Kayit.java:1)
03-25 11:19:19.659: E/AndroidRuntime(28730): at android.os.AsyncTask$2.call(AsyncTask.java:288)
03-25 11:19:19.659: E/AndroidRuntime(28730): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
03-25 11:19:19.659: E/AndroidRuntime(28730): ... 4 more
我猜这是空点,除了你的崩溃 这是你的问题线路-
private ProgressDialog dialog = new ProgressDialog(getActivity());
您可能正在从getActivity()
获取null
。从哪个状态/方法执行asynctask obj
最新答案
在异步任务中,您使用了global
String URL = "http://" + global.getDBHosturl() + "/myvale/valeservis.asmx";
但正如我看到的,您的全局初始化为
GlobalClass global = (GlobalClass) getApplicationContext();
你也有-
private GlobalClass getApplicationContext() {
// TODO Auto-generated method stub
return null;
}
所以基本上你的全局是null
,因此你得到了NPE。希望这有帮助
你似乎试图用错误的方法来替代这两种方法-
private GlobalClass getApplicationContext() {
// TODO Auto-generated method stub
return null;
}
private com.isosoft.vale.CustomAutoCompleteTextView findViewById(
int txtModel) {
// TODO Auto-generated method stub
return null;
}
我认为你应该删除它们。com.isosoft.vale.Kayit$AsyncCallWS.doInBackground(Kayit.java:401)上的行是什么?
Kayit.java:401
上的行是什么?你的java文件名是Kayit.java,对吗?是@AmitK.Saha请给出带有行号的代码,或者给出发生行错误的注释是的Kayit.java是classno,我的朋友,当我再次删除时,我得到了相同的错误。401行有什么,你不能告诉我们具体的行吗?另外,答案是在猜测时给出的(当您没有共享完整代码时)。@IsmailOzkan,请查看我更新的答案,如果这解决了您的问题。@IsmailOzkan,请接受答案。