Search code examples
androidundo

I have created a reset Button but want to create a Undo button?


I want to make a Tic Tac toe game,"X","0" I have created a reset button for clear text, but also want to create an Undo button, which should restore previous values.

This is my code and edited it: but still not working the app is being stopped with a message. Deepak has been stopped unfortunately.

   public class First extends AppCompatActivity {

RadioGroup jtb1;
EditText jet1, jet2, jet3, jet4, jet5, jet6, jet7, jet8, jet9;
RadioButton jrb1,jrb2;
Button jb2,undo;
final String i="O", j="X";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_first);

    jet1 = (EditText) findViewById(R.id.et2);
    jet3 = (EditText) findViewById(R.id.et1);
    jet2 = (EditText) findViewById(R.id.et3);
    jet4 = (EditText) findViewById(R.id.et4);
    jet5 = (EditText) findViewById(R.id.et5);
    jet6 = (EditText) findViewById(R.id.et6);
    jet7 = (EditText) findViewById(R.id.et7);
    jet8 = (EditText) findViewById(R.id.et8);
    jet9 = (EditText) findViewById(R.id.et9);
    jtb1 = (RadioGroup)findViewById(R.id.rb1);
    jrb1 = (RadioButton)findViewById(R.id.tb1);
    jrb2 = (RadioButton)findViewById(R.id.tb2);
    jb2 = (Button)findViewById(R.id.b2);
    undo = (Button)findViewById(R.id.undo);

}



public void onRadioClicked(View v) {
    final RadioButton rb = (RadioButton) v;
    if (rb.isChecked()) {
        Toast.makeText(getApplicationContext(), rb.getText().toString()+" turn", Toast.LENGTH_SHORT).show();

     /*  jb2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                jet1.setText("");
                jet2.setText("");
                jet3.setText("");
                jet4.setText("");
                jet5.setText("");
                jet6.setText("");
                jet7.setText("");
                jet8.setText("");
                jet9.setText("");
                rb.setChecked(false);
            }
        }); */

        jb2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                jet1.setTag(jet1.getText().toString());
                jet1.setText("");
                jet2.setTag(jet2.getText().toString());
                jet2.setText("");
                jet3.setTag(jet3.getText().toString());
                jet3.setText("");
                jet4.setTag(jet4.getText().toString());
                jet4.setText("");
                jet5.setTag(jet5.getText().toString());
                jet5.setText("");
                jet6.setTag(jet6.getText().toString());
                jet6.setText("");
                jet7.setTag(jet7.getText().toString());
                jet7.setText("");
                jet8.setTag(jet8.getText().toString());
                jet8.setText("");
                jet9.setTag(jet9.getText().toString());
                jet9.setText("");
            }
        });

        undo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                jet1.setText(jet1.getTag().toString());
                jet2.setText(jet2.getTag().toString());
                jet3.setText(jet3.getTag().toString());
                jet4.setText(jet4.getTag().toString());
                jet5.setText(jet5.getTag().toString());
                jet6.setText(jet6.getTag().toString());
                jet7.setText(jet7.getTag().toString());
                jet8.setText(jet8.getTag().toString());
                jet9.setText(jet9.getTag().toString());
            }
        });



        jet1.setKeyListener(null);
        jet1.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hF) {
                if (hF) {
                    jet1.callOnClick();
                }
            }
        });
        jet1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(jrb1.isChecked()) {
                    jet1.setText(i);

                }

                else{
                    jet1.setText(j);

                }

Please give a code for undo button.


Solution

  • jb2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                jet1.setTag(jet1.getText().toString());
                jet1.setText("");
                jet2.setTag(jet2.getText().toString());
                jet2.setText("");
                jet3.setTag(jet3.getText().toString());
                jet3.setText("");
                jet4.setTag(jet4.getText().toString());
                jet4.setText("");
                jet5.setTag(jet5.getText().toString());
                jet5.setText("");
                jet6.setTag(jet6.getText().toString());
                jet6.setText("");
                jet7.setTag(jet7.getText().toString());
                jet7.setText("");
                jet8.setTag(jet8.getText().toString());
                jet8.setText("");
                jet9.setTag(jet9.getText().toString());
                jet9.setText("");
            }
        });
    
        undo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                jet1.setText(jet1.getTag().toString());
                jet2.setText(jet2.getTag().toString());
                jet3.setText(jet3.getTag().toString());
                jet4.setText(jet4.getTag().toString());
                jet5.setText(jet5.getTag().toString());
                jet6.setText(jet6.getTag().toString());
                jet7.setText(jet7.getTag().toString());
                jet8.setText(jet8.getTag().toString());
                jet9.setText(jet9.getTag().toString());
            }
        });