安卓系统:初始化新的AsyncTask时应用程序崩溃(VerifyError)



我有一个应用程序在Point崩溃:"new Downloader(this,mURL);":

Downloader downloader = new Downloader(this, mURL);
downloader.execute(0);

Downloader.java:

public class Downloader extends AsyncTask<Integer,Integer,String>{
private Fragment fragment;
private String mURL;
private Activity activity;
public Downloader(VertretungsplanFragment fr, String mURL)
{
fragment = fr;
this.mURL = mURL;
this.activity = fr.getActivity();
}
@Override
protected String doInBackground(Integer... integers) {
[...]}
}

然后出现此错误(重要:它只在Android上崩溃<3)

java.lang.VerifyError

这是错误日志:)

--startDownload:253正是Downloader Downloader=new downlaoder(this,mURL);

02-25 15:40:55.405 619-619/thems.verttretungsplan E/AndroidRuntime﹕致命异常:mainjava.lang.VerifyError:thems.vertretungsplan.Downloader在thems.vertetungsplan.VertetungsPlanFragment.startDownload(VertretungsplanFragment.java:253)在thems.vertreitungsplan.VertreitunngsplanFragment.onCreateView(VertretungsplanFragment.java:58)在android.support.v4.app.FFragment.performCreateView(Fragment.java:1500)位于android.support.v4.app.FFragmentManagerImpl.moveToState(FragmentManager.java:927)位于android.support.v4.app.FFragmentManagerImpl.moveToState(FragmentManager.java:1104)在android.support.v4.app.BackStackRecord.run上(BackStackRecord.java:682)在android.support.v4.app.FragageManagerImpl.execPendingActions(FragmentManager.java:1467)在android.support.v4.app.FragageManagerImpl.executePendingTransactions(FragmentManager.java:472)位于android.support.v4.app.FragagePagerAdapter.finishUpdate(FragmentPagerAdaper.java:141)在android.support.v4.view.ViewPager.populate(ViewPager.java:1068)在android.support.v4.view.ViewPager.populate(ViewPager.java:914)在android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1436)在android.view.view.measure(view.java:8313)在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)在android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)在android.widget.LinearLayout.measureVertical(LinearLayout.java:386)在android.widget.LinearLayout.onMeasure(LinearLayout.java:309)在android.view.view.measure(view.java:8313)在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)在android.view.view.measure(view.java:8313)在android.widget.RelativeLayout.measureChildHorizontal(RelativeLayut.java:581)在android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)在android.view.view.measure(view.java:8313)在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)在android.view.view.measure(view.java:8313)在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)在android.view.view.measure(view.java:8313)在android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:651)在android.view.view.measure(view.java:8313)在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)在android.view.view.measure(view.java:8313)在android.widget.LinearLayout.measureVertical(LinearLayout.java:531)在android.widget.LinearLayout.onMeasure(LinearLayout.java:309)在android.view.view.measure(view.java:8313)在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)在android.view.view.measure(view.java:8313)在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)在android.view.view.measure(view.java:8313)在android.view.ViewRoot.performTraversals(ViewRoot.java:839)在android.view.ViewRoot.handleMessage(ViewRoot.java:1859)在android.os.Handler.dispatchMessage(Handler.java:99)在android.os.Looper.loop(Looper.java:123)在android.app.ActivityThread.main(ActivityThreads.java:3683)位于java.lang.reflect.Method.invokeNative(Native Method)位于java.lang.reflect.Method.ioke(Method.java:507)网址:com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)网址:com.android.internal.os.ZygoteInit.main(ZygoteNit.java:597)在dalvik.system.NativeStart.main(本地方法)

您必须从实例化片段的"活动"中获取上下文。

context =new Context();
context = getActivity();

将此"上下文"作为上下文传递给异步任务构造函数。

碎片是在android 3.0之后引入的,即API 11级

http://developer.android.com/reference/android/app/Fragment.html

最新更新