Памылка выканання на AsyncTask, калі я праверыць падлучэнне да Інтэрнэту

У мяне ёсць праблемы з AsyncTask на doInBackground , таму што я атрымліваю паведамленне пра памылку выканання гэтага кода менавіта на:

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 
{
    @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]
0

2 адказы

content is null, so you get NullPointerException. You need to assign a context to content, you can probably assign the activity itself, like this:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    content = this;//this is the important line
   //The rest goes here...
}
1
дададзена
У мяне ёсць дадаць наступную памылку я атрымаць від ласка
дададзена аўтар user1001635, крыніца

Вы не можаце рабіць якія-небудзь рэчы ў графічны інтэрфейс doInBackground() , і вы тэлефануеце Funciton, які паказвае Тост паведамленне. Праверце дакументацыі на AsyncTask.

1
дададзена
Тнх я выправіў
дададзена аўтар user1001635, крыніца
У мяне ёсць дадаць наступную памылку я атрымаць від ласка
дададзена аўтар user1001635, крыніца
памылка была функцыя паўторнага цыклу на адзін метад у ItaliaTelevideo я выдаліў яго і зараз працуе вялікі :)
дададзена аўтар user1001635, крыніца
Ммм паспрабуйце парухаць WorkAsyncIta вай = новы WorkAsyncIta (); у OnCreate() метад, непасрэдна перад выкананнем. На самай справе вы можаце выканаць AsyncTask, як новы WorkAsyncIta() выкананне ( »..") ;. замест вызначэння Вай і выкліку wai.execute ( ".. . ")
дададзена аўтар Vladimir, крыніца
не маглі б вы напішыце выпраўлены код для ItaliaTelevideo класа?
дададзена аўтар Vladimir, крыніца