I am a newbie programmer in Android, I am Stuck Here, Achieving this, Wanted to Print Out Url Contents In an EditText
With this Chunk.
private class MyTask extends AsyncTask<String, Void, String> {
Activity activity;
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... strings) {
String url = strings[0];
try {
StringBuilder sb = new StringBuilder();
URL link = new URL(url);
BufferedReader in;
in = new BufferedReader(new InputStreamReader(link.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
sb.append(inputLine);
in.close();
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
EditText editText = activity.findViewById(R.id.edittext);
editText.setText(s);
}
And Main Activity (onCreate
): as Follows
new MainActivity.MyTask().execute("http://yahoo.com");
And here is my fancy looking Error :/
06-20 19:09:08.466 31168-31175/? E/art: Failed sending reply to debugger: Broken pipe 06-20 19:09:09.563 31168-31168/com.curiosityworks.www.weatherlite E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.curiosityworks.www.weatherlite, PID: 31168
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.app.Activity.findViewById(int)' on a null object reference at com.curiosityworks.www.weatherlite.MainActivity$MyTask.onPostExecute(MainActivity.java:102) at com.curiosityworks.www.weatherlite.MainActivity$MyTask.onPostExecute(MainActivity.java:70) at android.os.AsyncTask.finish(AsyncTask.java:667) at android.os.AsyncTask.-wrap1(AsyncTask.java) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:684) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6377) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
Please Guide me, I am Wasting a lot of precious time to figure it out, it will be a big help.