java - Could not find a method in the activity class android.view.ContextThemeWrapper for onClick handler -


i have problem. using 2 dialog well, 1 dialog on dialog, second dialog crash when try search method. can me?

xml: login-email

 <textview     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:text="@string/forgot_password_email"     android:id="@+id/login_email_tvforgetpassword"     android:layout_margintop="18dp"     android:layout_gravity="center_horizontal"     android:onclick="openforgetpasswordsend"/> 

mainactivity.java

public void openforgetpasswordsend(view view){     fragmentmanager fragmentmanager = getfragmentmanager();     loginforgetpassworddialogfragment.show(fragmentmanager,"forget pass"); } 

loginforgetpassword.java

public class loginforgetpassword extends dialogfragment{      @override     public dialog oncreatedialog (bundle savedinstancestate){          // 1. instantiate alertdialog.builder constructor         alertdialog.builder builder = new alertdialog.builder(getactivity());           //get layout inflater         //layoutinflater inflater = getactivity().getlayoutinflater();         layoutinflater factory = layoutinflater.from(getactivity());          //create dialog         dialog dialog = new dialog(getactivity());          //diable title         dialog.requestwindowfeature(window.feature_no_title);          // inflate , set layout dialog         // pass null parent view because going in dialog layout         // builder.setview(inflater.inflate(r.layout.login_register, null));         dialog.setcontentview(r.layout.login_forgetpassword);          // transparency         dialog.getwindow().setbackgrounddrawable(new colordrawable(color.transparent));          // 3. alertdialog create()         //return builder.create();         return dialog;     } 

error:

  java.lang.illegalstateexception: not find method openforgetpasswordsend(view) in activity class android.view.contextthemewrapper onclick handler on view class android.widget.textview id 'login_email_tvforgetpassword'             @ android.view.view$1.onclick(view.java:4209)             @ android.view.view.performclick(view.java:5156)             @ android.view.view$performclick.run(view.java:20755)             @ android.os.handler.handlecallback(handler.java:739)             @ android.os.handler.dispatchmessage(handler.java:95)             @ android.os.looper.loop(looper.java:145)             @ android.app.activitythread.main(activitythread.java:5832)             @ java.lang.reflect.method.invoke(native method)             @ java.lang.reflect.method.invoke(method.java:372)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1399)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1194)      caused by: java.lang.nosuchmethodexception: openforgetpasswordsend [class android.view.view]             @ java.lang.class.getmethod(class.java:665)             @ android.view.view$1.onclick(view.java:4202)             at android.view.view.performclick(view.java:5156)             at android.view.view$performclick.run(view.java:20755)             at android.os.handler.handlecallback(handler.java:739)             at android.os.handler.dispatchmessage(handler.java:95)             at android.os.looper.loop(looper.java:145)             at android.app.activitythread.main(activitythread.java:5832)             at java.lang.reflect.method.invoke(native method)             at java.lang.reflect.method.invoke(method.java:372)             at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1399)             at com.android.internal.os.zygoteinit.main(zygoteinit.java:1194) 

i appreciated help!

i no expert but, don't set android:onclick="openforgetpasswordsend" it's bad practise set click events in xml layouts.

set click listeners in java. use xml, setup views.

the reason crash might that, method specify in xml has no parameters, in class, method has parameter of type view.

public void openforgetpasswordsend(view view){...}

now, suggest try code below, should fix problem :

remove android:onclick="openforgetpasswordsend" <textview>

i don't see use layout'login-email.xml'. in fragment(i assume it's in fragment), add these lines in :

public class myfragment extends fragment {    private textview mytextview;    @override   protected void oncreate(bundle savedinstancestate) {      mytextview = (textview)findviewbyid(r.id.login_email_tvforgetpassword);      mytextview.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view view) {             openforgetpasswordsend(view);         }     });  }  

Comments

Popular posts from this blog

android - Pass an Serializable object in AIDL -

How to provide Authorization & Authentication using Asp.net, C#? -

How to use Authorization & Authentication in Asp.net, C#? -