Help guys to figure it out. I wrote my first program, now I want to put the functions in a separate class. I have never done this before, tell me what is wrong.

Here is a piece of code

if(reed==12){ // ecли пройдено 12 ячеек if(tobe){// если нажат пункт меню ToBe... if(mySettings1.contains(Tobe_ArrayList)){// если сохранен Tobe_ArrayList SharedPreferences.Editor editor = mySettings1.edit(); editor.remove("Tobe_ArrayList"); // удаляем Tobe_ArrayList editor.apply(); displayResult2(); } else {//ecли пройдено 12 ячеек и нажат пункт меню ToBe, но НЕ сохранен Tobe_ArrayList displayResult(); listStr = new Gson().toJson(new ArrayList<Integer>(Arrayl));// сохраняю Arrayl в строку Log.d("","Сохраненный Tobe_ArrayList:" + Arrayl); SharedPreferences.Editor editor = mySettings1.edit(); editor.putString(Tobe_ArrayList, listStr);// cохраняем Arrayl в строке в SharedPreferences editor.apply(); } }//End Push_ToBe }//if(reed==12) if(itenglish){// если нажат пункт меню IT English if(reed==12){// ecли пройдено 12 ячеек if(mySettings1.contains(ITenglish_ArrayList)){// если сохранен ITenglish_ArrayList SharedPreferences.Editor editor = mySettings1.edit(); editor.remove("ITenglish_ArrayList"); // удаляем ITenglish_ArrayList editor.apply(); } // End ITenglish_ArrayList else{//ecли нажато меню IT English и пройдено 12 ячеек, но НЕ сохранен параметр ITenglish_ArrayList displayResult(); listStr = new Gson().toJson(new ArrayList<Integer>(Arrayl));// сохраняю Arrayl в строку System.out.println("Сохраненный ITenglish_ArrayList" + Arrayl); SharedPreferences.Editor editor = mySettings1.edit(); editor.putString(ITenglish_ArrayList, listStr);// cохраняем Arrayl в строке в SharedPreferences editor.apply(); } }// End reed }// End itenglish 

And here, what I'm trying to do:

 import android.app.Activity; import android.content.SharedPreferences; import android.util.Log; import android.widget.Button; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; import com.google.gson.Gson; import java.util.ArrayList; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; import static ua.languagetest.MainActivityTwo.ITenglish_ArrayList; import static ua.languagetest.MainActivityTwo.Tobe_ArrayList; public class SaveQuestions { SharedPreferences mySettings1; Activity activity1; int reed; //boolean tobe; boolean itenglish; String listStr; ArrayList<Integer> Arrayl; int right_option; int total; TextView myhint,question; Button resalt,back; public SaveQuestions(Activity activity0) { activity1= activity0; } public String menuTobe(boolean tobe) { if (reed == 12) { // ecли пройдено 12 ячеек if (tobe) {// если нажат пункт меню ToBe... if (mySettings1.contains(Tobe_ArrayList)) {// если сохранен Tobe_ArrayList SharedPreferences.Editor editor = mySettings1.edit(); editor.remove("Tobe_ArrayList"); // удаляем Tobe_ArrayList editor.apply(); displayResult2(); } else {//ecли пройдено 12 ячеек и нажат пункт меню ToBe, но НЕ сохранен Tobe_ArrayList listStr = new Gson().toJson(new ArrayList<Integer>(Arrayl));// сохраняю Arrayl в строку Log.d("", "Сохраненный Tobe_ArrayList:" + Arrayl); SharedPreferences.Editor editor = mySettings1.edit(); editor.putString(Tobe_ArrayList, listStr);// cохраняем Arrayl в строке в SharedPreferences editor.apply(); displayResult(); } }//End Push_ToBe }//if(reed==12) return listStr ; }// End method menuTobe public String menuITenglish(boolean itenglish){ listStr = null; if (itenglish) {// если нажат пункт меню IT English if (reed == 12) {// ecли пройдено 12 ячеек if (mySettings1.contains(ITenglish_ArrayList)) {// если сохранен ITenglish_ArrayList SharedPreferences.Editor editor = mySettings1.edit(); editor.remove("ITenglish_ArrayList"); // удаляем ITenglish_ArrayList editor.apply(); displayResult2(); Toast toast = Toast.makeText(activity1, "Первая часть кода ToBe", Toast.LENGTH_LONG); toast.show(); } // End ITenglish_ArrayList else {//ecли нажато меню IT English и пройдено 12 ячеек, но НЕ сохранен параметр ITenglish_ArrayList listStr = new Gson().toJson(new ArrayList<Integer>(Arrayl));// сохраняю Arrayl в строку System.out.println("Сохраненный ITenglish_ArrayList" + Arrayl); SharedPreferences.Editor editor = mySettings1.edit(); editor.putString(ITenglish_ArrayList, listStr);// cохраняем Arrayl в строке в SharedPreferences editor.apply(); displayResult(); Toast toast = Toast.makeText(activity1, "Вторая часть кода ToBe", Toast.LENGTH_LONG); toast.show(); } }// End reed }// End itenglish return listStr; }// End method menuITenglish void displayResult() {//метод для вывода результатов 1 часть теста RadioGroup myRadioGroup = (RadioGroup) activity1.findViewById(R.id.radio_group); myRadioGroup.setVisibility(INVISIBLE);// скрываем радио-кнопки myhint.setVisibility(INVISIBLE);// скрываем подсказку question.setVisibility(INVISIBLE);// скрываем вопрос resalt.setVisibility(INVISIBLE);// скрываем кнопку ДАЛЕЕ back.setVisibility(VISIBLE);// делаем кнопку ГЛАВНОЕ МЕНЮ видимой TextView resultTV = (TextView) activity1.findViewById(R.id.textView2); resultTV.setText("Тест завершён! Правильных ответов: " + right_option + " из " + total + "." +"Хотите еще больше вопросов? Ответьте на 12 из 12, возвращайтесь в главное меню и еще раз нажмите пункт меню. За каждый" + "тест вы получите бонус. "); } void displayResult2() {//метод для вывода результатов 2 часть теста RadioGroup myRadioGroup = (RadioGroup)activity1.findViewById(R.id.radio_group); myRadioGroup.setVisibility(INVISIBLE); myhint.setVisibility(INVISIBLE); question.setVisibility(INVISIBLE); resalt.setVisibility(INVISIBLE); back.setVisibility(VISIBLE); TextView resultTV = (TextView)activity1.findViewById(R.id.textView2); resultTV.setText("Тест завершён! Правильных ответов: " + right_option + " из " + total + "."); } }// End class SaveQuestions 

In MainActivity:

SaveQuestions sq = new SaveQuestions (this); sq.menuTobe (tobe);

  • Before dividing into classes, familiarize yourself with the principles of SOLID, and at the same time with the design patterns. The fact that you have done a few uh ... ridiculous. - pavlofff
  • Got it, thanks, I'm going to read - Eugene Neofit

0