package com.pledgeapps.buyingtime; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v4.app.DialogFragment; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import java.util.Random; public class DismissFragment extends DialogFragment { private Handler handler; EditText answerText; int answer = 0; static DismissFragment newInstance(Handler h) { DismissFragment modal = new DismissFragment(); modal.handler = h; return modal; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Random rnd = new Random(); int num1 = rnd.nextInt(99) + 1; int num2 = rnd.nextInt(99) + 1; answer = num1 + num2; AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = getActivity().getLayoutInflater(); View view = inflater.inflate(R.layout.fragment_dismiss, null); TextView equationText = (TextView) view.findViewById(R.id.equationText); answerText = (EditText) view.findViewById(R.id.answerText); equationText.setText(Integer.toString(num1) + " + " + Integer.toString(num2) + " ="); builder.setView(view) .setPositiveButton("Solve", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) {} }) .setNegativeButton("Snooze", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { DismissFragment.this.getDialog().cancel(); } }); return builder.create(); } @Override public void onStart() { super.onStart(); AlertDialog d = (AlertDialog)getDialog(); if(d != null) { Button positiveButton = (Button) d.getButton(Dialog.BUTTON_POSITIVE); positiveButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (solve()) { handler.sendMessage(new Message()); DismissFragment.this.getDialog().dismiss(); } } }); } } public boolean solve() { int userAnswer = 0; try { userAnswer = Integer.parseInt(answerText.getText().toString()); } catch (Exception e) {} return userAnswer == answer; } }