У нас есть HomeActivity, которое представляет собой NavigationDrawyer Activity, где есть много опций, таких как задания и политики. Если он нажимает на задания в первый раз, мы покажем JobUserForm.class, а в следующий раз мы покажем JobsList.class, если он щелкнет JobsList.тогда JobDetails.То же самое относится и к политикам. Проблема заключается в том, что во время навигации между этими страницами предыдущая страница мигает в фоновом режиме в течение нескольких секунд. Например, если я щелкаю задания в homeActivity во время загрузки экрана jobsList, экран homeActivity мигает в фоновом режиме.таким же образом при загрузке экрана jobDetails экран jobsList мигает.То же самое происходит и для политики.Как я могу решить это. Помогите мне с решением.
В моем HomeActiivty.class
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
menuItem.setChecked(true);
// close drawer when item is tapped
switch (menuItem.getItemId()) {
case R.id.nav_item_jobs:
if (internetConnection.checkConnection()) {
govJobs();
} else {
Toast.makeText(HomeActivity.this, "No internet connection", Toast.LENGTH_LONG).show();
}
break;
case R.id.nav_item_policies:
if (internetConnection.checkConnection()) {
govPolicies();
} else {
Toast.makeText(HomeActivity.this, "No internet connection", Toast.LENGTH_LONG).show();
}
break;
case R.id.nav_item_my_servant:
Toast.makeText(HomeActivity.this, "Coming soon", Toast.LENGTH_LONG).show();
break;
}
drawer.closeDrawers();
return true;
}
private void govJobs() {
job_rows_count = myAppDataBase.myDao().getNumberOfJobRows();
if (job_rows_count >= 1) {
// getWindow().setExitTransition(null);
Intent intent = new Intent(HomeActivity.this, JobsList.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
} else {
//
Intent intent =new Intent(HomeActivity.this, JobUserForm.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
private void govPolicies() {
policy_row_count = myAppDataBase.myDao().getNumberOfPolicyRows();
if (policy_row_count >= 1) {
Intent intent = new Intent(HomeActivity.this, PoliciesGrid.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
} else {
Intent intent = new Intent(HomeActivity.this, PolicyUserForm.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}