@Erimaru
Студент-программист

Как реализовать открытие нового Activity из Navigation Drawer?

Здравствуйте. Как реализовать открытие нового Activity из Navigation Drawer? Я нашел код красивого бокового меню, и стал его изучать, но не могу понять, как реализовать в нем переход на новые активности для разных кнопок в нём. В шаблоне только Toast-ы на нажатие.
Вот сам код :
public class MainActivity extends ActionBarActivity {

    private Drawer.Result drawerResult = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Инициализируем Toolbar
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        // Инициализируем Navigation Drawer
        drawerResult = new Drawer()
                .withActivity(this)
                .withToolbar(toolbar)
                .withActionBarDrawerToggle(true)
                .withHeader(R.layout.drawer_header)
                .addDrawerItems(
                        new PrimaryDrawerItem().withName(R.string.drawer_item_home).withIcon(FontAwesome.Icon.faw_home),
                        new PrimaryDrawerItem().withName(R.string.drawer_item_catalog).withIcon(FontAwesome.Icon.faw_gamepad),
                        new SectionDrawerItem().withName(R.string.drawer_item_setting),
                        new SecondaryDrawerItem().withName(R.string.drawer_item_help).withIcon(FontAwesome.Icon.faw_cog),
                        new SecondaryDrawerItem().withName(R.string.drawer_item_settings).withIcon(FontAwesome.Icon.faw_question)

                )
              
                })
               // Обработка клика
               .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
          @Override
                     public void onItemClick(AdapterView<?> parent, View view, int position, long id, IDrawerItem drawerItem) {
                        if (drawerItem instanceof Nameable) {
                            Toast.makeText(MainActivity.this, MainActivity.this.getString(((Nameable) drawerItem).getNameRes()), Toast.LENGTH_SHORT).show();
                        }
                        if (drawerItem instanceof Badgeable) {
                            Badgeable badgeable = (Badgeable) drawerItem;
                            if (badgeable.getBadge() != null) {
                                // учтите, не делайте так, если ваш бейдж содержит символ "+"
                                try {
                                    int badge = Integer.valueOf(badgeable.getBadge());
                                    if (badge > 0) {
                                        drawerResult.updateBadge(String.valueOf(badge - 1), position);
                                    }
                                } catch (Exception e) {
                                    Log.d("test", "Не нажимайте на бейдж, содержащий плюс! :)");
                                }
                            }
                        }
                    }
                })
                .build();
    }


Спасибо.
  • Вопрос задан
  • 237 просмотров
Пригласить эксперта
Ответы на вопрос 3
zagayevskiy
@zagayevskiy
Android developer at Yandex
Крайне плохая идея. Количество активити вообще надо максимально уменьшать. А для этого используются фрагменты.
Ответ написан
@aol-nnov
> В шаблоне только Toast-ы на нажатие.

то есть, правильный вопрос звучит намного проще: как открыть новую активити?

ответ: интент есть для этого, например.
Ответ написан
IceJOKER
@IceJOKER
Web/Android developer
Вместо тостов пишите код открытия нового активити.
Intent intent = new Intent(MainActivity.this, AnotherActivity.class);
startActivity(intent);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Frogogo Москва
от 80 000 руб.
Blogman Оренбург
от 20 000 до 110 000 руб.
Asapp Москва
от 150 000 до 200 000 руб.
14 дек. 2018, в 17:59
2000 руб./в час
14 дек. 2018, в 17:36
200000 руб./за проект
14 дек. 2018, в 17:31
500 руб./за проект