2013-09-26 43 views
-1

我在doInBackGround方法中的AsyncTask類中有錯誤。Asynctask類調用時出錯

從調試我敢肯定,程序不進入doInBackground方法,有問題之前,或稱它或通過情境或活動

錯誤日誌:

FATAL EXCEPTION: AsyncTask #3 
java.lang.RuntimeException: An error occurred while executing doInBackground() 
    at android.os.AsyncTask$3.done(AsyncTask.java:299) 
    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 
    at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
    at java.lang.Thread.run(Thread.java:856) 
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer 
    at android.app.SharedPreferencesImpl.getInt(SharedPreferencesImpl.java:221) 
    at com.app.sams.GetStudentsListAsync.doInBackground(GetStudentsListAsync.java:88) 
    at com.app.sams.GetStudentsListAsync.doInBackground(GetStudentsListAsync.java:1) 
    at android.os.AsyncTask$2.call(AsyncTask.java:287) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
    ... 5 more 

調用的AsyncTask

private final List<Teacher> ClassList; 
private final Activity activity; 
Context context; 

public TeacherAdapter(Activity activity, List<Teacher> ClassList, 
     Context context) { 
    super(activity, R.layout.activity_list, ClassList); 
    this.activity = activity; 
    this.context = context; 
    this.ClassList = ClassList; 
} 


holder.Button1.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 

     Toast toast = Toast.makeText(context, ClassList.get(position) 
        .getName(), Toast.LENGTH_LONG); 
     toast.show(); 


     GetStudentsListAsync asynTask = new GetStudentsListAsync(
        activity, context); 
     asynTask.execute(); 

    } 
}); 

的AsyncTask類:

private Activity activity; 
//private ProgressDialog progressDialog; 
Context context; 

public GetStudentsListAsync(Activity activity, Context context) { 
    super(); 
    //this.progressDialog = progressDialog; 
    this.activity = activity; 
    this.context = context; 
} 

然後DoInBackGround但我敢肯定上述路線的問題。

+0

發佈你的asynctask代碼完整 – Raghunandan

+0

如何使用doInBackground方法 –

+0

詢問Async並不同步你的Asyctask部分....... –

回答

0

根據您的日誌,問題是因爲您在Async任務doInBackgroundMethod中將字符串值轉換爲整數。

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer 

爲了更準確看起來是在你的AsyncTask

GetStudentsListAsync.java:88 

希望幫助下面的一行數字。

相關問題