Приветствую! На данный момент я имею 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();
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости