android - How this error can be resolved? -
the app crashes out click hit button. following things being shown in logcat. posting required files.
here logcat:
08-20 19:10:22.656 6198-6198/com.example.sambal.jasonparsingdemo e/androidruntime: fatal exception: main process: com.example.sambal.jasonparsingdemo, pid: 6198 java.lang.nullpointerexception: attempt invoke virtual method 'void android.widget.textview.settext(java.lang.charsequence)' on null object reference @ com.example.sambal.jasonparsingdemo.mainactivity$1$1.onresponse(mainactivity.java:49) @ com.example.sambal.jasonparsingdemo.mainactivity$1$1.onresponse(mainactivity.java:45) @ com.android.volley.toolbox.stringrequest.deliverresponse(stringrequest.java:60) @ com.android.volley.toolbox.stringrequest.deliverresponse(stringrequest.java:30) @ com.android.volley.executordelivery$responsedeliveryrunnable.run(executordelivery.java:99) @ android.os.handler.handlecallback(handler.java:751) @ android.os.handler.dispatchmessage(handler.java:95) @ android.os.looper.loop(looper.java:154) @ android.app.activitythread.main(activitythread.java:6236) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:891) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:781)
here mainactivity.java:
package com.example.sambal.jasonparsingdemo; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.textview; import com.android.volley.request; import com.android.volley.requestqueue; import com.android.volley.response; import com.android.volley.volleyerror; import com.android.volley.toolbox.stringrequest; import com.android.volley.toolbox.volley; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.net.httpurlconnection; import java.net.malformedurlexception; import java.net.url; public class mainactivity extends appcompatactivity { button btnhit; textview tvdata; string server_url = "http://www.google.com"; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); btnhit = (button) findviewbyid(r.id.btnhit); tvdata = (textview) findviewbyid(r.id.jasonitem); btnhit.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { final requestqueue requestqueue = volley.newrequestqueue(mainactivity.this); stringrequest stringrequest = new stringrequest(request.method.get, server_url, new response.listener<string>() { @override public void onresponse(string response) { tvdata.settext(response); requestqueue.stop(); } }, new response.errorlistener() { @override public void onerrorresponse(volleyerror error) { tvdata.settext("something went wrong...."); error.printstacktrace(); requestqueue.stop(); } }); requestqueue.add(stringrequest); } }); } }
here volley dependency have added. okay used in code?
dependencies:
dependencies { compile filetree(dir: 'libs', include: ['*.jar']) androidtestcompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' testcompile 'junit:junit:4.12' compile 'com.android.volley:volley:1.0.0'
while setting data make sure response doesn't have null prevent set condition
if(!textutils.isempty(response)) tvdata.settext(response);
and make sure xml have correct id tvdata = (textview) findviewbyid(r.id.jasonitem);
Comments
Post a Comment