мне нужна помощь. Мой манифест Launcher Activity is LanguageChooseActivity.java, я использовал общие настройки, когда пользователь выбрал язык, он закрывает LanguageChooseActivity и входит в mainActivity сразу после запуска приложения, но в основной Activity у меня есть кнопка выхода, а когда пользователь нажимает кнопку выходаКнопка он должен вернуться к LanguageChooseActivity, чтобы снова выбрать язык. Пожалуйста, помогите сделать это.
вот мой код: LanguageChooseActivity
private TextView rusVersion;
private TextView engVersion;
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;
private boolean launchedEng;
private boolean launchedRus;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_language_choose);
afterChoseLanguage();
rusVersion = findViewById(R.id.rus_version);
rusVersion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(rusVersion.isPressed()){
editor = sharedPreferences.edit();
editor.putBoolean("launchedRus", true);
editor.apply();
}
startActivity(new Intent(LanguageChooseActivity.this,RusMainMenuActivity.class));
}
});
engVersion = findViewById(R.id.eng_version);
engVersion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(engVersion.isPressed()){
editor = sharedPreferences.edit();
editor.putBoolean("launchedEng", true);
editor.apply();
}
startActivity(new Intent(LanguageChooseActivity.this,EngMainMenuActivity.class));
}
});
}
public void afterChoseLanguage(){
sharedPreferences = getPreferences(Context.MODE_PRIVATE);
launchedEng = sharedPreferences.getBoolean("launchedEng",false);
launchedRus = sharedPreferences.getBoolean("launchedRus",false);
if(launchedEng){
Intent intent = new Intent(this, EngMainMenuActivity.class);
startActivity(intent);
} else if (launchedRus){
Intent intent = new Intent(this, RusMainMenuActivity.class);
startActivity(intent);
}
}
} ```
and MainMenuActivity:
``` FrameLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DisplayMetrics dm = getResources().getDisplayMetrics();
MainActivity.scale =(float) dm.widthPixels / 1080f;
MainActivity.dm = dm;
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
layout = new FrameLayout(this);
layout.setBackgroundColor(ResourceColors.colorWhite);
setContentView(layout);
design();
}
private void design(){
Bitmap logoMain = getBitmapFromAsset(this,"logo_Main.png");
logoMain = Bitmap.createScaledBitmap(logoMain,(int)(480*MainActivity.scale),(int)(158*MainActivity.scale), false);
ImageView iLogoMain = new ImageView(this);
iLogoMain.setImageBitmap(logoMain);
iLogoMain.setLayoutParams(new FrameLayout.LayoutParams((int)(480*MainActivity.scale),(int)(158*MainActivity.scale)));
iLogoMain.setX(MainActivity.dm.widthPixels/2 - logoMain.getWidth()/2);
iLogoMain.setY(80*MainActivity.scale);
layout.addView(iLogoMain);
for (int i = 0; i < 20; i++) {
Bitmap iconRus = getBitmapFromAsset(this, "iconMainMenu/ru_" + (i + 1) + ".png");
iconRus = Bitmap.createScaledBitmap(iconRus, (int) (238 * MainActivity.scale), (int) (238 * MainActivity.scale*(iconRus.getHeight()/(float)iconRus.getWidth())), false);
ImageView iIcon = new ImageView(this);
iIcon.setLayoutParams(new FrameLayout.LayoutParams(iconRus.getWidth(), iconRus.getHeight()));
iIcon.setImageBitmap(iconRus);
iIcon.setX(55 * MainActivity.scale + (244 * (i % 4))* MainActivity.scale);
iIcon.setY(390 * MainActivity.scale + (277 * (i / 4))* MainActivity.scale);
iIcon.setId(100+i);
iIcon.setOnClickListener(new View.OnClickListener() {
@SuppressLint("ResourceType")
@Override
public void onClick(View v) {
if (v.getId() == 119) {
}
}
});
layout.addView(iIcon);
}
}
public static Bitmap getBitmapFromAsset(Context context, String filePath) {
AssetManager assetManager = context.getAssets();
InputStream istr;
Bitmap bitmap = null;
try {
istr = assetManager.open(filePath);
bitmap = BitmapFactory.decodeStream(istr);
} catch (IOException e) {
// handle exception
}
return bitmap;
}
}