I am creating this App where the user changes the Language, it takes place only after i restart the App, can i do something to avoid the restart part Your Help will be very much helpful
Here is the onCreate Method : Here is the onCreate Method :
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_class_room);
custom_relatives = findViewById(R.id.custom_relatives);
custom_relatives.setBackgroundColor(Functions.getBackColor());
recycler_view_bottom_teacher = findViewById(R.id.recycler_view_bottom_teacher);
myTeacherModelLists = new ArrayList<>();
model_tabs_teachers = new ArrayList<>();
String[] edu_forum = {"Edu Forum", "ฟอรั่มการศึกษา", "শিক্ষা আলোচনা"};
recyclerView = findViewById(R.id.recyclerView);
// change_language();
GridLayoutManager gridLayoutManager = new GridLayoutManager(getApplicationContext(), 3);
recyclerView.setLayoutManager(gridLayoutManager);
MyTeacherAdapter myTeacherAdapter = new MyTeacherAdapter(myTeacherModelLists, this);
//change_language();
if (EasyPreference.with(getApplicationContext(), PRE_KEY)
.getString(PRE_USER_LANGUAGE,PRE_LANGUAGE_ENGLISH).equalsIgnoreCase(PRE_LANGUAGE_ASSEMESS)) {
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_google_classroom, Constant.classroom[2]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_news_alerts, Constant.news[2]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_school_rank, Constant.announcement[2]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.school_diary, Constant.school_diary[2]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_absent_report, Constant.absent_report[2]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.examination, Constant.examination[2]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_events, Constant.events[2]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_resources, edu_forum[2]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.edu_forum_finals, Constant.edu_forum[2]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.sets, Constant.settings[2]));
myTeacherAdapter.notifyDataSetChanged();
} else if (EasyPreference.with(getApplicationContext(), PRE_KEY)
.getString(PRE_USER_LANGUAGE, PRE_LANGUAGE_ENGLISH).equalsIgnoreCase(PRE_LANGUAGE_THI)) {
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_google_classroom, Constant.classroom[1]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_news_alerts, Constant.news[1]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_school_rank, Constant.announcement[1]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.school_diary, Constant.school_diary[1]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_absent_report, Constant.absent_report[1]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.examination, Constant.examination[1]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_events, Constant.events[1]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_resources, edu_forum[1]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.edu_forum_finals, Constant.edu_forum[1]));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.sets, Constant.settings[1]));
myTeacherAdapter.notifyDataSetChanged();
} else {
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_google_classroom, "Classroom"));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_news_alerts, "Notice"));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_school_rank, "Announcement"));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.school_diary, "School Diary"));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_absent_report, "Absent report"));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.examination, "Examination"));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_events, "Events"));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.home_resources, "Edu Forum"));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.edu_forum_finals, "Edu Bank"));
myTeacherModelLists.add(new MyTeacherModel(R.drawable.sets, "Settings"));
myTeacherAdapter.notifyDataSetChanged();
}
recyclerView.setAdapter(myTeacherAdapter);
//adapter.notifyDataSetChanged();
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
model_tabs_teachers.add(new Model_Tabs_Teacher(R.drawable.classroomabhi));
model_tabs_teachers.add(new Model_Tabs_Teacher(R.drawable.schooldiaryabhi));
model_tabs_teachers.add(new Model_Tabs_Teacher(R.drawable.noticeabhi));
model_tabs_teachers.add(new Model_Tabs_Teacher(R.drawable.absentreportabhi));
model_tabs_teachers.add(new Model_Tabs_Teacher(R.drawable.examinationabhi));
model_tabs_teachers.add(new Model_Tabs_Teacher(R.drawable.eventsabhi));
model_tabs_teachers.add(new Model_Tabs_Teacher(R.drawable.edubankabhi));
model_tabs_teachers.add(new Model_Tabs_Teacher(R.drawable.edu_forum_latest_abhi));
model_tabs_teachers.add(new Model_Tabs_Teacher(R.drawable.home));
Adapter_Tabs_Teacher adapter_tabs_teacher = new Adapter_Tabs_Teacher(model_tabs_teachers, this);
recycler_view_bottom_teacher.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));
recycler_view_bottom_teacher.setAdapter(adapter_tabs_teacher);
imageSlider = (SliderLayout) findViewById(R.id.slider);
EasyPreference.with(this, PRE_KEY).addInt("currentTab", 0).save();
HashMap<String, Integer> url_maps = new HashMap<String, Integer>();
url_maps.put("Latest News", R.drawable.zedabhi);
url_maps.put("Click Here to Read More", R.drawable.newsmod);
HashMap<String, Integer> file_maps = new HashMap<String, Integer>();
for (String name : url_maps.keySet()) {
TextSliderView textSliderView = new TextSliderView(this);
// initialize a SliderLayout
textSliderView
.description(name)
.image(url_maps.get(name))
.setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener(this);
//add your extra information
textSliderView.bundle(new Bundle());
textSliderView.getBundle()
.putString("extra", name);
imageSlider.addSlider(textSliderView);
}
String teacherName = EasyPreference.with(this, PRE_KEY).getString(PRE_USER_NAME, "");
boolean shownWelcome = EasyPreference.with(this, PRE_KEY).getBoolean("shownWelcome", false);
if (!shownWelcome) {
AlertDialog.Builder alert = new AlertDialog.Builder(this);
final AlertDialog alertDialog = alert.create();
alertDialog.setMessage(getString(R.string.app_hello) + " " + teacherName + "," + "\n" + getString(R.string.app_welcome) + " " + getString(R.string.app_name));
alertDialog.setMessage("Hello " + teacherName + "," + "\nWelcome to " + getString(R.string.app_name));
alertDialog.setCanceledOnTouchOutside(true);
alertDialog.show();
EasyPreference.with(this, PRE_KEY).addBoolean("shownWelcome", true).save();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
alertDialog.dismiss();
}
}, 7000);
}
filter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
connectReciever = new ConnectivityReciever();
registerReceiver(connectReciever, filter);
pref = getApplicationContext().getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
imageView = findViewById(R.id.imageView);
toolbarText = (TextView) findViewById(R.id.toolbarText);
// mViewPager = findViewById(R.id.viewpager);
// tabLayout = (TabLayout) findViewById(R.id.tab_layout);
setTabAdapter();
Animation animation = new AlphaAnimation(1, 0); //to change visibility from visible to invisible
animation.setDuration(500); //1 second duration for each animation cycle
animation.setInterpolator(new LinearInterpolator());
animation.setRepeatCount(Animation.INFINITE); //repeating indefinitely
animation.setRepeatMode(Animation.REVERSE); //animation will start from end point once ended.
// image_breaking_news.startAnimation(animation); //to start animation
String url_logo = EasyPreference.with(ClassRoomActivity.this, PRE_KEY).getString(MY_PREFS_SCHOOL_LOGO, "");
//Demo purpose
if (url_logo != null && (!url_logo.equalsIgnoreCase(""))) {
Picasso.with(ClassRoomActivity.this)
.load(url_logo)
.memoryPolicy(MemoryPolicy.NO_CACHE)
.error(R.drawable.sz_logo)
.placeholder(R.drawable.loading_back)
.into(imageView);
} else {
Picasso.with(ClassRoomActivity.this)
.load(R.drawable.sz_logo)
.memoryPolicy(MemoryPolicy.NO_CACHE)
.error(R.drawable.sz_logo)
.placeholder(R.drawable.loading_back)
.into(imageView);
}
}
How can it be fixed so as to not do the Restart App process. Thank You