crash - A prompt for user input makes the app crashes -


i coded demo prompt user input, , crashes when click ok button on prompt dialog, giving me error log:

08-24 06:24:11.669 3275-3275/com.sano.tamer.prompuserinputdialog w/iinputconnectionwrapper: beginbatchedit on inactive inputconnection 08-24 06:24:11.669 3275-3275/com.sano.tamer.prompuserinputdialog w/iinputconnectionwrapper: endbatchedit on inactive inputconnection 08-24 06:24:19.019 3275-3275/com.sano.tamer.prompuserinputdialog d/androidruntime: shutting down vm 08-24 06:24:19.019 3275-3275/com.sano.tamer.prompuserinputdialog w/dalvikvm: threadid=1: thread exiting uncaught exception (group=0x5c8d4160) 08-24 06:24:19.039 3275-3275/com.sano.tamer.prompuserinputdialog e/androidruntime: fatal exception: main                                                                                    process: com.sano.tamer.prompuserinputdialog, pid: 3275                                                                                    java.lang.nullpointerexception                                                                                        @ com.sano.tamer.prompuserinputdialog.mainactivity$1$2.onclick(mainactivity.java:48)                                                                                        @ android.support.v7.app.alertcontroller$buttonhandler.handlemessage(alertcontroller.java:157)                                                                                        @ android.os.handler.dispatchmessage(handler.java:102)                                                                                        @ android.os.looper.loop(looper.java:149)                                                                                        @ android.app.activitythread.main(activitythread.java:5252)                                                                                        @ java.lang.reflect.method.invokenative(native method)                                                                                        @ java.lang.reflect.method.invoke(method.java:515)                                                                                        @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:794)                                                                                        @ com.android.internal.os.zygoteinit.main(zygoteinit.java:610)                                                                                        @ dalvik.system.nativestart.main(native method) 

i using physical device running kitkat.

here files:

prompts.xml:

<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical"     android:padding="10dp">      <textview         android:id="@+id/tvuserinput"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="@string/tv_message" />      <edittext         android:id="@+id/etuserinput"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:inputtype="text">          <requestfocus/>     </edittext> </linearlayout> 

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:paddingbottom="@dimen/activity_vertical_margin"     android:paddingleft="@dimen/activity_horizontal_margin"     android:paddingright="@dimen/activity_horizontal_margin"     android:paddingtop="@dimen/activity_vertical_margin"     android:orientation="vertical"     tools:context="com.sano.tamer.prompuserinputdialog.mainactivity">      <button         android:id="@+id/btnshowprompt"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="@string/button_label"/>      <edittext         android:id="@+id/etresult"         android:layout_width="match_parent"         android:layout_height="wrap_content" /> </linearlayout> 

mainactivity.java:

    package com.sano.tamer.prompuserinputdialog;      import android.content.context;     import android.content.dialoginterface;     import android.support.v7.app.alertdialog;     import android.support.v7.app.appcompatactivity;     import android.os.bundle;     import android.view.layoutinflater;     import android.view.view;     import android.widget.button;     import android.widget.edittext;     import android.widget.textview;  public class mainactivity extends appcompatactivity {     private button btnshowprompt;     private edittext etresult;     final context context = this;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          btnshowprompt = (button) findviewbyid(r.id.btnshowprompt);          etresult = (edittext) findviewbyid(r.id.etresult);          btnshowprompt.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view view) {                 // prompts.xml view                 layoutinflater inflater = layoutinflater.from(context);                 view vuserprompt = inflater.inflate(r.layout.prompts,null);                 alertdialog.builder adbuilder = new alertdialog.builder(context);                  // set prompts.xml layout file of alertdialog builder                 adbuilder.setview(vuserprompt);                  final edittext etuserinput = (edittext) findviewbyid(r.id.etuserinput);                  // setup dialog window                 adbuilder                         .setcancelable(false)                         .setpositivebutton("ok", new dialoginterface.onclicklistener() {                             @override                             public void onclick(dialoginterface dialoginterface, int i) {                                 // user input , set result                                  etresult.settext(etuserinput.gettext());                             }                         })                         .setnegativebutton("cancel", new dialoginterface.onclicklistener() {                             @override                             public void onclick(dialoginterface dialoginterface, int i) {                                 dialoginterface.cancel();                             }                         });                  // create alert dialog                 alertdialog alertdialog = adbuilder.create();                 alertdialog.show();             }         });     } } 


Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -