Как перезагрузить класс по нажатию на кнопку?

127
28 января 2018, 02:05

Приветствую! На данный момент я имею 3 Activity посредством которых задаю и обрабатываю переменные для матрицы 3x3, при этом все эти Activity подобны друг другу, отличаются лишь названиями задаваемых переменных, а в последствии и выводимыми переменными(т.е. на 1-ом задаются переменные: b, d; на 2-ом с,g; на 3-ем f,h). При этом все арифметические операции я вывел в отдельный от всех Activity класс. Именно в этот класс импортируются все заданные переменные, здесь происходят все арифметические операции. Считается всё верно.

Код MatrixMessageActivity123:

import static app.analysis.mai.MessageActivity1.b;
import static app.analysis.mai.MessageActivity1.d;
import static app.analysis.mai.MessageActivity2.c;
import static app.analysis.mai.MessageActivity2.g;
import static app.analysis.mai.MessageActivity3.f;
import static app.analysis.mai.MessageActivity3.h;
class MatrixMessageActivity123 {
static double a = 1;
static double e = 1;
static double i = 1;
static double w11 = Math.pow(a * b * c, 1.0 / 3);
static double w12 = Math.pow(d * e * f, 1.0 / 3);
static double w13 = Math.pow(g * h * i, 1.0 / 3);
static double r11 = w11 + w12 + w13;
static double q11 = w11 / r11;
static double q12 = w12 / r11;
static double q13 = w13 / r11;
static double s11 = a + d + g;
static double s12 = b + e + h;
static double s13 = c + f + i;
static double p11 = s11 * q11;
static double p12 = s12 * q12;
static double p13 = s13 * q13;
static double Y01max = p11 + p12 + p13;
static double IS11 = (Y01max - 3) / (3 - 1);
static double OC11 = IS11 / 0.58;
}

Однако, на всех 3-ёх Activity мне необходимо обработать кнопку возвращения в начало решения, в случае, допустим, пользовательской ошибки, т.е., например, было случайно задано не то значение переменной и т.д.

код кнопки:

return3 = (Button) findViewById(R.id.return3);
return3.setText("На этап оформления структуры");
return3.setOnClickListener(this);
@Override
public void onClick(View view) {
    Intent intent13 = new Intent(this, Activity1.class);
    startActivity(intent13);
    finish();
}

Кнопка возвращает в начало решения, но тот самый класс (MatrixMessageActivity123), в котором вычисляется вся математика не сбрасывается, и никак не изменяет свои значения, если поверх ранее заданных значений, например, определить другие значений переменных. В любом случае обрабатывается только самый первый заданный вариант значений переменных матрицы. Другими словами, если, например, сначала задать заведомо неправильные значения, а потом вернуться в начало и задать правильные, то приложение выдаст, что опять введены неправильные значения, как и в первом случае. Проверка осуществляется в рамках следующей конструкции, на 3-ем Activity:

if (OC11 < 0.1) {
toast1 = Toast.makeText(getApplicationContext(), "Матрица локальных приоритетов согласована, можете продолжить решение", Toast.LENGTH_LONG);
                    toast1.show();
                    sootnesen3.setEnabled(true);
                }
else if (OC11 >= 0.1) {
toast1 = Toast.makeText(getApplicationContext(), "Матрица локальных приоритетов несогласованна, задайте приоритеты заново", Toast.LENGTH_LONG);
                    toast1.show();
                }

Вопрос: Возможно ли перезапустить класс MatrixMessageActivity123 по нажатию кнопки return3, для сброса ранее заданных значений переменных, или может есть иные пути решения данной проблемы? Помогите, пожалуйста.

Код MessageActivity1:

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
public class MessageActivity1 extends AppCompatActivity implements View.OnClickListener {
TextView celzadach1, poyas4, poyas5, poyas6, text9, text10, text11;
RadioGroup rgroup1;
RadioButton sravnenkr1, sravnenkr2, sravnenkr3;
ListView spisok1;
Spinner spn2;
ArrayAdapter<String> adapter2;
String prioritet1[] = {"9", "8", "7", "6", "5", "4", "3", "2", "1"};
String znachn1 = "";
Button sootnesen1, return1;
static double d, b;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_message1);
    Intent intent5 = getIntent();
    celzadach1 = (TextView) findViewById(R.id.celzadach1);
    String message1 = intent5.getStringExtra("message1");
    celzadach1.setText(message1);
    poyas4 = (TextView) findViewById(R.id.poyas4);
    poyas4.setText("Определение важности критериев сравнения относительно заявленной цели:");
    poyas5 = (TextView) findViewById(R.id.poyas5);
    poyas5.setText("Какой из сравниваемых критериев более предпочтительный?");
    poyas6 = (TextView) findViewById(R.id.poyas6);
    poyas6.setText("Предпочтительней на сколько?");
    sravnenkr1 = (RadioButton) findViewById(R.id.sravnenkr1);
    String message2 = intent5.getStringExtra("message2");
    sravnenkr1.setText(message2);
    sravnenkr2 = (RadioButton) findViewById(R.id.sravnenkr2);
    String message3 = intent5.getStringExtra("message3");
    sravnenkr2.setText(message3);
    sravnenkr3 = (RadioButton) findViewById(R.id.sravnenkr3);
    sravnenkr3.setText("Сравниваемые критерии одинаково важны");
    sootnesen1 = (Button) findViewById(R.id.sootnesen1);
    sootnesen1.setText("Далее");
    return1 = (Button) findViewById(R.id.return1);
    return1.setText("На этап оформления структуры");
    return1.setOnClickListener(this);
    text9 = (TextView) findViewById(R.id.text9);
    String message4 = intent5.getStringExtra("message4");
    text9.setText(message4);
    text10 = (TextView) findViewById(R.id.text10);
    String message5 = intent5.getStringExtra("message5");
    text10.setText(message5);
    text11 = (TextView) findViewById(R.id.text11);
    String message6 = intent5.getStringExtra("message6");
    text11.setText(message6);
    spisok1 = (ListView) findViewById(R.id.spisokPrioritet1);
    adapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, prioritet1);
    spisok1.setAdapter(adapter2);
    rgroup1 = (RadioGroup) findViewById(R.id.RadioGroup1);
    rgroup1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, @IdRes final int q1) {
            spisok1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int position2, long id) {
                    znachn1 = String.valueOf((adapter2.getItemId(0) < 9) ? 9 - id : 0);
                    if (q1 == sravnenkr1.getId()) {
                        b = Double.valueOf(znachn1);
                        d = 1 / b;
                    }
                    else if (q1 == sravnenkr2.getId()) {
                        d = Double.valueOf(znachn1);
                        b = 1 / d;
                    }
                }
            });
            if (q1 == sravnenkr3.getId()) {
                znachn1 = String.valueOf(1);
                d = Double.valueOf(znachn1);
                b = Double.valueOf(znachn1);
            }
            sootnesen1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent6 = new Intent(MessageActivity1.this, MessageActivity2.class);
                    intent6.putExtra("message1", celzadach1.getText().toString());
                    intent6.putExtra("message2", sravnenkr1.getText().toString());
                    intent6.putExtra("message3", sravnenkr2.getText().toString());
                    intent6.putExtra("message4", text9.getText().toString());
                    intent6.putExtra("message5", text10.getText().toString());
                    intent6.putExtra("message6", text11.getText().toString());
                    startActivity(intent6);
                    finish();
                }
            });

        }
    });
}
@Override
public void onClick(View view) {
    Intent intent11 = new Intent(this, Activity1.class);
    startActivity(intent11);
}
}

Код MessageActivity2:

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
public class MessageActivity2 extends AppCompatActivity implements View.OnClickListener {
TextView celzadach2, poyas7, poyas8, poyas9, text12, text13, text14;
RadioGroup rgroup2;
RadioButton sravnenkr4, sravnenkr5, sravnenkr6;
ListView spisok2;
Spinner spn2;
ArrayAdapter<String> adapter3;
String prioritet2[] = {"9", "8", "7", "6", "5", "4", "3", "2", "1"};
String znachn2 = "";
Button sootnesen2, return2;
static double c,g;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_message2);
    Intent intent7 = getIntent();
    celzadach2 = (TextView) findViewById(R.id.celzadach2);
    String message1 = intent7.getStringExtra("message1");
    celzadach2.setText(message1);
    poyas7 = (TextView) findViewById(R.id.poyas7);
    poyas7.setText("Определение важности критериев сравнения относительно заявленной цели:");
    poyas8 = (TextView) findViewById(R.id.poyas8);
    poyas8.setText("Какой из сравниваемых критериев более предпочтительный?");
    poyas9 = (TextView) findViewById(R.id.poyas9);
    poyas9.setText("Предпочтительней на сколько?");
    sravnenkr4 = (RadioButton) findViewById(R.id.sravnenkr4);
    String message2 = intent7.getStringExtra("message2");
    sravnenkr4.setText(message2);
    sravnenkr5 = (RadioButton) findViewById(R.id.sravnenkr5);
    String message4 = intent7.getStringExtra("message4");
    sravnenkr5.setText(message4);
    sravnenkr6 = (RadioButton) findViewById(R.id.sravnenkr6);
    sravnenkr6.setText("Сравниваемые критерии одинаково важны");
    sootnesen2 = (Button) findViewById(R.id.sootnesen2);
    sootnesen2.setText("Далее");
    return2 = (Button) findViewById(R.id.return2);
    return2.setText("На этап оформления структуры");
    return2.setOnClickListener(this);
    text12 = (TextView) findViewById(R.id.text12);
    String message3 = intent7.getStringExtra("message3");
    text12.setText(message3);
    text13 = (TextView) findViewById(R.id.text13);
    String message5 = intent7.getStringExtra("message5");
    text13.setText(message5);
    text14 = (TextView) findViewById(R.id.text14);
    String message6 = intent7.getStringExtra("message6");
    text14.setText(message6);
    spisok2 = (ListView) findViewById(R.id.spisokPrioritet2);
    adapter3 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, prioritet2);
    spisok2.setAdapter(adapter3);
    rgroup2 = (RadioGroup) findViewById(R.id.RadioGroup2);
    rgroup2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, @IdRes final int q2) {
            spisok2.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int position3, long id) {
                    znachn2 = String.valueOf((adapter3.getItemId(0) < 9) ? 9 - id : 0);
                    if (q2 == sravnenkr4.getId()) {
                        c = Double.valueOf(znachn2);
                        g = 1 / c;
                    }
                    else if (q2 == sravnenkr5.getId()) {
                        g = Double.valueOf(znachn2);
                        c = 1 / g;
                    }
                }
            });
            if (q2 == sravnenkr6.getId()) {
                znachn2 = String.valueOf(1);
                c = Double.valueOf(znachn2);
                g = Double.valueOf(znachn2);
            }
            sootnesen2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent8 = new Intent(MessageActivity2.this, MessageActivity3.class);
                    intent8.putExtra("message1", celzadach2.getText().toString());
                    intent8.putExtra("message2", sravnenkr4.getText().toString());
                    intent8.putExtra("message3", text12.getText().toString());
                    intent8.putExtra("message4", sravnenkr5.getText().toString());
                    intent8.putExtra("message5", text13.getText().toString());
                    intent8.putExtra("message6", text14.getText().toString());
                    startActivity(intent8);
                    finish();
                }
            });
        }
    });
}
@Override
public void onClick(View view) {
    Intent intent12 = new Intent(this, Activity1.class);
    startActivity(intent12);
}
}

Код MessageActivity3:

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import static app.analysis.mai.MatrixMessageActivity123.OC11;
public class MessageActivity3 extends AppCompatActivity implements View.OnClickListener {
TextView celzadach3, poyas10, poyas11, poyas12, text15, text16, text17;
RadioGroup rgroup3;
RadioButton sravnenkr7, sravnenkr8, sravnenkr9;
ListView spisok3;
Spinner spn2;
ArrayAdapter<String> adapter4;
String prioritet3[] = {"9", "8", "7", "6", "5", "4", "3", "2", "1"};
String znachn3 = "";
Button sootnesen3, return3;
Toast toast1;
static double f,h;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_message3);
    Intent intent9 = getIntent();
    celzadach3 = (TextView) findViewById(R.id.celzadach3);
    String message1 = intent9.getStringExtra("message1");
    celzadach3.setText(message1);
    poyas10 = (TextView) findViewById(R.id.poyas10);
    poyas10.setText("Определение важности критериев сравнения относительно заявленной цели:");
    poyas11 = (TextView) findViewById(R.id.poyas11);
    poyas11.setText("Какой из сравниваемых критериев более предпочтительный?");
    poyas12 = (TextView) findViewById(R.id.poyas12);
    poyas12.setText("Предпочтительней на сколько?");
    sravnenkr7 = (RadioButton) findViewById(R.id.sravnenkr7);
    String message3 = intent9.getStringExtra("message3");
    sravnenkr7.setText(message3);
    sravnenkr8 = (RadioButton) findViewById(R.id.sravnenkr8);
    String message4 = intent9.getStringExtra("message4");
    sravnenkr8.setText(message4);
    sravnenkr9 = (RadioButton) findViewById(R.id.sravnenkr9);
    sravnenkr9.setText("Сравниваемые критерии одинаково важны");
    sootnesen3 = (Button) findViewById(R.id.sootnesen3);
    sootnesen3.setText("Далее");
    sootnesen3.setEnabled(false);
    return3 = (Button) findViewById(R.id.return3);
    return3.setText("На этап оформления структуры");
    return3.setOnClickListener(this);
    text15 = (TextView) findViewById(R.id.text15);
    String message2 = intent9.getStringExtra("message2");
    text15.setText(message2);
    text16 = (TextView) findViewById(R.id.text16);
    String message5 = intent9.getStringExtra("message5");
    text16.setText(message5);
    text17 = (TextView) findViewById(R.id.text17);
    String message6 = intent9.getStringExtra("message6");
    text17.setText(message6);
    spisok3 = (ListView) findViewById(R.id.spisokPrioritet3);
    adapter4 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, prioritet3);
    spisok3.setAdapter(adapter4);
    rgroup3 = (RadioGroup) findViewById(R.id.RadioGroup3);
    rgroup3.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, @IdRes final int q3) {
            spisok3.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int position4, long id) {
                    znachn3 = String.valueOf((adapter4.getItemId(0) < 9) ? 9 - id : 0);
                    if (q3 == sravnenkr7.getId()) {
                        f = Double.valueOf(znachn3);
                        h = 1 / f;
                    }
                    else if (q3 == sravnenkr8.getId()) {
                        h = Double.valueOf(znachn3);
                        f = 1 / h;
                    }
                    if (OC11 < 0.1) {
                        toast1 = Toast.makeText(getApplicationContext(), "Матрица локальных приоритетов согласована, можете продолжить решение", Toast.LENGTH_LONG);
                        toast1.show();
                        sootnesen3.setEnabled(true);
                    }
                    else if (OC11 >= 0.1) {
                        toast1 = Toast.makeText(getApplicationContext(), "Матрица локальных приоритетов несогласована, задайте приоритеты заново", Toast.LENGTH_LONG);
                        toast1.show();
                    }
                }
            });
            if (q3 == sravnenkr9.getId()) {
                znachn3 = String.valueOf(1);
                f = Double.valueOf(znachn3);
                h = Double.valueOf(znachn3);
                if (OC11 < 0.1) {
                    toast1 = Toast.makeText(getApplicationContext(), "Матрица локальных приоритетов согласована, можете продолжить решение", Toast.LENGTH_LONG);
                    toast1.show();
                    sootnesen3.setEnabled(true);
                }
                else if (OC11 >= 0.1) {
                    toast1 = Toast.makeText(getApplicationContext(), "Матрица локальных приоритетов несогласована, задайте приоритеты заново", Toast.LENGTH_LONG);
                    toast1.show();
                }
            }
            sootnesen3.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent10 = new Intent(MessageActivity3.this, MessageActivity4.class);
                    intent10.putExtra("message1", celzadach3.getText().toString());
                    intent10.putExtra("message2", text15.getText().toString());
                    intent10.putExtra("message3", sravnenkr7.getText().toString());
                    intent10.putExtra("message4", sravnenkr8.getText().toString());
                    intent10.putExtra("message5", text16.getText().toString());
                    intent10.putExtra("message6", text17.getText().toString());
                    startActivity(intent10);
                    finish();
                }
            });
        }
    });
}
@Override
public void onClick(View view) {
    Intent intent13 = new Intent(this, Activity1.class);
    startActivity(intent13);
    finish();
}
}
READ ALSO
вывести текст со стилями

вывести текст со стилями

Доброго времени суток, есть ajax скрипт который после выполнения выводит текст, но никак не получается выделить один элемент например жирным...

197
Ошибка jquery на сайте Wordpress

Ошибка jquery на сайте Wordpress

Привет! На сайте Wordpress есть плагин Ultimate MemberПри попытке загрузить аватарку во фронтэнде должно открываться окно, но этого не происходит

220
Помогите найти ошибку PHP

Помогите найти ошибку PHP

При каждой перезагрузке страницы пишет такое:

273
Как сделать шрифтовую иконку из png

Как сделать шрифтовую иконку из png

Есть изображение в формате PNG:

296