У меня есть код для ящика-меню:
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
final Handler handler = new Handler(Looper.getMainLooper());
int id = item.getItemId();
switch (id) {
case R.id.drMain:
Intent intentMain = new Intent(this, MainActivity.class);
startActivity(intentMain);
break;
case R.id.drDiarys:
Intent intentDiarys = new Intent(this, Diarys.class);
startActivity(intentDiarys);
break;
case R.id.drFav:
Intent intentFav = new Intent(this, Favorites.class);
startActivity(intentFav);
break;
case R.id.drSendStory:
Intent intentSendStory = new Intent(this, SendStory.class);
startActivity(intentSendStory);
break;
case R.id.drTg:
Intent intentTg = new Intent(Intent.ACTION_VIEW, Uri.parse("https://t.me/joinchat/FAPWlBHEWo2oLKXcpEeN4A"));
startActivity(intentTg);
break;
case R.id.drVk:
Intent intentVk = new Intent(Intent.ACTION_VIEW, Uri.parse("https://vk.com/unspecific"));
startActivity(intentVk);
break;
case R.id.drSettings:
Intent intentSettings = new Intent(this, Settings.class);
startActivity(intentSettings);
break;
case R.id.drAbout:
Intent intentAbout = new Intent(this, Help.class);
startActivity(intentAbout);
break;
case R.id.drChat:
Intent chat = new Intent(this, Chat.class);
startActivity(chat);
break;
}
handler.postDelayed(new Runnable() {
@Override
public void run() {
drawer.closeDrawers();
}
}, 100);
return true;
}
И у меня есть 10+ занятий, где я использую этот код. Я бы поместил этот код в другой класс Java (например, Drawer.class) и запустил его в нужных действиях (например, с getDrawerMenu
).
Возможно ли это?Цель этого - уменьшить количество строк кода.