2013-09-26 5 views
-1

doInBackGround 메서드에서 AsyncTask 클래스에 오류가 있습니다.Asynctask 클래스에서 오류가 발생했습니다.

난 프로그램이 DoInbackGround 방법을 입력하지 않는다는 것을 확신 디버깅에서

, 그 전에 또는 전화 또는 상황이나 활동 통과에 문제가

오류 로그 : AsyncTask를 호출

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 

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에서 String 값을 정수로 캐스팅하기 때문에 문제가 발생합니다. 그것은 당신의 AsyncTask를하는 데 도움이

GetStudentsListAsync.java:88 

희망의 다음 줄 번호에 같은

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

더 정확한 모습한다.

관련 문제