#java #android-studio
Вопрос:
Я пытаюсь создать приложение, которое выполняет «основы» двух подвигов из RPG Pathfinder. Действие «Сакральная геометрия» продолжает возвращать приложение к первому действию, не запускаясь должным образом. Предполагается, что он состоит из двух чисел, но самое важное-это уровень заклинания. Он также должен принимать числовое значение блесен для определения esl, а затем отображать соответствующее правильное сообщение. Мы высоко ценим любую помощь в решении этой проблемы.
package com.example.pathfinderfun; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; import android.widget.TextView; public class SacredGeometry extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sacred_geometry); Spinner spinner1 = findViewById(R.id.spinner1); Spinner spinner2 = findViewById(R.id.spinner2); Button runButton; TextView sgPC = (TextView) findViewById(R.id.result); ArrayAdapterlt;CharSequencegt; adapter = ArrayAdapter.createFromResource(this, R.array.metamagic_feats, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner1.setAdapter(adapter); spinner2.setAdapter(adapter); runButton = (Button) findViewById(R.id.buttonRun); runButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { EditText ranks = findViewById(R.id.editTextNumber1); String temp = ranks.getText().toString(); int value1 = 0; if (!"".equals(temp)){ value1 = Integer.parseInt(temp); } EditText spellLevel = findViewById(R.id.editTextNumber2); String temp2 = spellLevel.getText().toString(); int value2 = 0; if (!"".equals(temp)){ value2 = Integer.parseInt(temp); } int meta1 = Integer.parseInt(String.valueOf(spinner1)); int meta2 = Integer.parseInt(String.valueOf(spinner2)); Integer esl = value2 meta1 meta2; if (esl == 1) { sgPC.setText("Effective Spell Level: 1; Prime Constants: 3, 5, 7"); } else if (esl == 2) { sgPC.setText("Effective Spell Level: 2; Prime Constants: 11, 13, 17"); } else if (esl == 3) { sgPC.setText("Effective Spell Level: 3; Prime Constants: 19, 23, 29"); } else if (esl == 4) { sgPC.setText("Effective Spell Level: 4; Prime Constants: 31, 37, 41"); } else if (esl == 5) { sgPC.setText("Effective Spell Level: 5; Prime Constants: 43, 47, 53"); } else if (esl == 6) { sgPC.setText("Effective Spell Level: 6; Prime Constants: 59, 61, 67"); } else if (esl == 7) { sgPC.setText("Effective Spell Level: 7; Prime Constants: 71, 73, 79"); } else if (esl == 8) { sgPC.setText("Effective Spell Level: 8; Prime Constants: 83, 89, 97"); } else if (esl == 9) { sgPC.setText("Effective Spell Level: 9; Prime Constants: 101, 103, 107"); } else { sgPC.setText("Value is too high!"); } } }); } }
Изменить: поскольку кто-то спросил, вот код для первого действия
package com.example.pathfinderfun; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button1 = (Button) findViewById(R.id.button_first); Button button2 = (Button) findViewById(R.id.button_second); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openSG(); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openA(); } }); } public void openSG() { Intent intent = new Intent(this, SacredGeometry.class); startActivity(intent); } public void openA() { Intent intent = new Intent(this, Arithmancy.class); startActivity(intent); }
Комментарии:
1. Опубликуйте и другое свое занятие, это тоже выглядит нормально