I have this problem. I am using two dialog well, one dialog on a dialog, but the second dialog crash when try to search the method. Somebody can help 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 an AlertDialog.Builder with its constructor
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
//Get the 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 and set the layout for the dialog
// Pass null as the parent view because its going in the 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. Get the AlertDialog from create()
//return builder.create();
return dialog;
}
Error:
java.lang.IllegalStateException: Could not find a method openForgetPasswordSend(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.TextView with id 'login_email_tvForgetPassword'
at android.view.View$1.onClick(View.java:4209)
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)
Caused by: java.lang.NoSuchMethodException: openForgetPasswordSend [class android.view.View]
at java.lang.Class.getMethod(Class.java:665)
at 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 your help!