2015-05-10 2 views
0

Вот мой фрагментdoInBackground не работает в фрагменте (Error Fatal исключение: AsyncTask # 1)

public class LeftFragment extends Fragment{ 
ListView listView; 
List<ParseObject> ob; 
ProgressDialog mProgressDialog; 
ListViewAdapter adapter; 
private List<School> schoollist = null; 
@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.left_fragment, container, false); 
    new RemoteDataTask().execute(); 
    return v; 
} 
private class RemoteDataTask extends AsyncTask<Void, Void, Void> { 
    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     mProgressDialog = new ProgressDialog(getActivity()); 
     // Create a progressdialog 
     mProgressDialog = new ProgressDialog(getActivity()); 
     // Set progressdialog title 
     mProgressDialog.setTitle("Parse.com Custom ListView Tutorial"); 
     // Set progressdialog message 
     mProgressDialog.setMessage("Loading..."); 
     mProgressDialog.setIndeterminate(false); 
     // Show progressdialog 
     mProgressDialog.show(); 
    } 

    @Override 
    protected Void doInBackground(Void... params) { 
     schoollist = new ArrayList<School>(); 
     try{ 
      ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("School"); 
      query.orderByAscending("index"); 
      ob = query.find(); 
      for (ParseObject name : ob){ 
       School map = new School(); 
       map.setCount((String)name.get("count")); 
       map.setName((String)name.get("name")); 
       schoollist.add(map); 
      } 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 

    @Override 
    protected void onPostExecute(Void result) { 

     listView = (ListView)getView().findViewById(R.id.lv_left); 
     adapter = new ListViewAdapter(getActivity(), schoollist); 
     listView.setAdapter(adapter); 
     mProgressDialog.dismiss(); 
     super.onPreExecute(); 
    } 
} 

}

Это ошибка, я получаю (Fatal исключение: AsyncTask # 1)

 05-10 23:48:25.232 20039-20731/animuco.com.ckemi E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1 
    Process: animuco.com.ckemi, PID: 20039 
    java.lang.RuntimeException: An error occured while executing doInBackground() 
      at android.os.AsyncTask$3.done(AsyncTask.java:300) 
      at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) 
      at java.util.concurrent.FutureTask.setException(FutureTask.java:222) 
      at java.util.concurrent.FutureTask.run(FutureTask.java:242) 
      at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
      at java.lang.Thread.run(Thread.java:841) 
    Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String 
      at animuco.com.ckemi.Fragment.LeftFragment$RemoteDataTask.doInBackground(LeftFragment.java:66) 
      at animuco.com.ckemi.Fragment.LeftFragment$RemoteDataTask.doInBackground(LeftFragment.java:41) 
      at android.os.AsyncTask$2.call(AsyncTask.java:288) 
      at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
            at java.lang.Thread.run(Thread.java:841) 
05-10 23:48:25.602 20039-20039/animuco.com.ckemi E/WindowManager﹕ android.view.WindowLeaked: Activity animuco.com.ckemi.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{44814858 V.E..... R......D 0,0-1026,486} that was originally added here 
      at android.view.ViewRootImpl.<init>(ViewRootImpl.java:350) 
      at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248) 
      at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69) 
      at android.app.Dialog.show(Dialog.java:294) 
      at animuco.com.ckemi.Fragment.LeftFragment$RemoteDataTask.onPreExecute(LeftFragment.java:54) 
      at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587) 
      at android.os.AsyncTask.execute(AsyncTask.java:535) 
      at animuco.com.ckemi.Fragment.LeftFragment.onCreateView(LeftFragment.java:38) 
      at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786) 
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:953) 
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136) 
      at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739) 
      at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499) 
      at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:488) 
      at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 
      at android.support.v4.view.ViewPager.populate(ViewPager.java:1073) 
      at android.support.v4.view.ViewPager.populate(ViewPager.java:919) 
      at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441) 
      at android.view.View.measure(View.java:16645) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 
      at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
      at android.view.View.measure(View.java:16645) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 
      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 
      at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 
      at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 
      at android.view.View.measure(View.java:16645) 
      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 
      at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
      at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2298) 
      at android.view.View.measure(View.java:16645) 
      at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1916) 
      at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1113) 
      at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1295) 
      at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000) 
      at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5622) 
      at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) 
      at android.view.Choreographer.doCallbacks(Choreographer.java:574) 
      at android.view.Choreographer.doFrame(Choreographer.java:544) 
      at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) 
      at android.os.Handler.handleCallback(Handler.java:733) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      at android.os.Looper.loop(Looper.java:212) 
      at android.app.ActivityThread.main(ActivityThread.java:5135) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
      at dalvik.system.NativeStart.main(Native Method) 

ответ

0

ошибка Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String не фрагмент

Эта часть сделала эр ROR

map.setCount((String)name.get("count")); 
map.setName((String)name.get("name")); 

и Перепишите часть как этот

map.setCount(String.valueOf(name.get("count"))); 
map.setName(String.valueOf(name.get("name"))); 
+0

спасибо так много! – Leo

+0

Это сработало? – theapache64

+0

Да, это сработало @@ – Leo

Смежные вопросы