Я все еще учусь Android разработке, и я застрял в точке, где я предполагаю, что делаю что-то не так. Был бы признателен за вашу помощь.
У меня есть мой основной класс, который расширяет AppCompatActivity вот так, и внутри него у меня есть функция, которая создает экземпляр другого класса, где я хочу сделать некоторые вычисления на основе общих настроек магазина:
public class Level1_0 extends AppCompatActivity {
.....
public void isTwoUnlocked(){
CalculateAvg calc = new CalculateAvg();
boolean L = calc.level2();
if(L == true){
showPopup();
calc.finish();
}
}
.....
}
CalculateAvg - это класс, который я создаю. В этом классе есть метод level2 (), здесь я делаю некоторые проверки и возвращаю True или False как логическое значение. Когда я запускаю код, init () никогда не вызывается onCreate (). Я также попытался написать весь код init внутри самого onCreate, но та же проблема, onCreate никогда не запускается.
CalculateAvg class
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
public class CalculateAvg extends AppCompatActivity{
public static final String SHARED_PREFS = "sharedPrefs";
private static final String TAG = "Level1_0";
level10 = sharedPreferences.getBoolean(LEVEL10, false);
........
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
}
public void init(){
SharedPreferences sharedPreferences = getSharedPreferences(SHARED_PREFS, MODE_PRIVATE);
........
// do my calculations here but init() never gets called by onCreate().
// I even tried writing entire code inside onCreate but it also didn't work
}
public boolean level2(){
boolean L = false;
if(level10 == null){
L = false;
}
else{
L = true;
}
return L;
}
}
Любая идея, почему onCreate не запускается при создании экземпляра это в моем основном классе?