我对doInBackground
有问题,asynctask
,因为我得到一个运行时错误的代码专门对:运行时错误,当我检查互联网连接
ConnectivityManager connectivity = (ConnectivityManager) content.getSystemService(Context.CONNECTIVITY_SERVICE);
((我想看看在inamgeview
的图像,但首先检查该连接是否活跃这些操作在一个单独的类执行不延伸活性)):
这是主要的活性:
public class TelevideoInternationalActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
String loc = "Nazionale";
static String home_page = "http://www.televideo.rai.it/televideo/pub/tt4web/Nazionale/16_9_page-100.png";
WorkAsyncIta wai = new WorkAsyncIta();
static String but = "";
Context content;
/************DECLARES**************/
RelativeLayout relativeLayout1;
ImageView imgpag;
ProgressBar probar;
/**********INITIALIZES**************/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imgpag = (ImageView)findViewById (R.id.imgpag);
relativeLayout1 = (RelativeLayout) findViewById(R.id.RelativeLayout1);
probar = (ProgressBar) findViewById (R.id.probar);
wai.execute("http://www.televideo.rai.it/televideo/pub/tt4web/Nazionale/16_9_page-100.png");
}
private class WorkAsyncIta extends AsyncTask<String, Void, Bitmap>
{
@Override
protected void onPreExecute()
{
probar.setVisibility(0);
}
@Override
protected Bitmap doInBackground(String... url) {
return ItaliaTelevideo.setHomePage(url[0], content);
}
@Override
protected void onPostExecute(Bitmap result) {
probar.setVisibility(1);
imgpag.setImageBitmap(result);
imgpag.setScaleType(ScaleType.FIT_XY);
}
}
}
我已经改正了错误,但我现在看到这个调试视图:
Thread [<17> AsyncTask #1] (Stepping)
ThreadPoolExecutor$Worker.run() line: 672
Thread.run() line: 1060
,然后,如果我触摸屏幕返回不要imageview
显示任何内容:
Thread [<3> main] (Suspended (exception IllegalStateException))
ViewRoot.handleMessage (Message) line: 1704
ViewRoot (Handler). DispatchMessage (Message) line: 99
Looper.loop() line: 123
ActivityThread.main (String []) line: 4203
Method.invokeNative (Object, Object [], Class, Class [], Class, int, boolean) line: not available [native method]
Method.invoke (Object, Object ...) line: 521
ZygoteInit MethodAndArgsCaller.run $() line: 791
ZygoteInit.main (String []) line: 549
NativeStart.main (String []) line: not available [native method]
THX我纠正它 – user1001635
我有添加下一个错误,我得到的样子请 – user1001635
嗯尝试移动'WorkAsyncIta围=新WorkAsyncIta();'入'的onCreate()'方法,只是在执行之前。事实上,你可以执行AsyncTask作为新的WorkAsyncIta()。execute(“..”);'而不是定义'wai'并调用'wai.execute(“...”)' – Vladimir