2014-05-13 4 views
0

Итак, я искал выделение навигационных ящиков здесь, и когда я указал на учебник из ответа на вопрос других лиц. Я сделал это.Как запустить активность из навигационного ящика?

Мне удалось создать и создать навигационный ящик по своему вкусу. Но теперь я неустанно искал, как я могу запускать действия из навигационного ящика. Мне удалось получить код в MainActivity, но, щелкнув элемент, он ничего не запускает? Все действия определяются в манифесте. Я решил использовать тосты как след и ошибку, все равно не повезло.

вот мой код для навигационного ящика и запуск.

// Drawer Activity   
// Get list items from strings.xml 
drawerListViewItems = getResources().getStringArray(R.array.items); 

// Get ListView defined in activity_main.xml 
drawerListView = (ListView) findViewById(R.id.left_drawer); 

// Set the adapter for the list view 
drawerListView.setAdapter(new ArrayAdapter<String>(this, 
R.layout.drawer_listview_item, drawerListViewItems)); 
// Run Activity from drawer 
drawerListView.setOnItemClickListener(new DrawerItemClickListener()); 

И это мой метод DrawerItemClickListener

private class DrawerItemClickListener implements ListView.OnItemClickListener { 

    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

    switch(position) { 
     case 0: 
      Intent a = new Intent(this, AppInfo.class); 
       startActivity(a); 
     break; 
     case 1: 
      Intent b = new Intent(getBaseContext(), WelcomeActivity.class); 
      startActivity(b); 
      } 
     } 
    } 

ответ

2

Repalce this с MainActivity.this вроде этого:

Intent a = new Intent(MainActivity.this, AppInfo.class); 
startActivity(a); 

Также переменой

drawerListView.setOnItemClickListener(new DrawerItemClickListener()); 

заменить

drawerListView.setOnItemClickListener(this); 

галку для Custom Adapter

+0

drawerListView.setOnItemClickListener (this); когда я добавляю это, появляются ошибки. Также, когда я открываю навигационный ящик и касаюсь и удерживаю элемент, он не выбирает, это проблема? А также, если я отпустил навигационный ящик, закрывается – Robin

+0

Создайте пользовательский адаптер и поработайте над этим –

+0

. Проверьте мой ответ на обновление здесь. Определите ссылку для пользовательского адаптера. –

1
Intent abc = new Intent(CurrentActivityName.this,TargetActivityName.class); 
startActivity(abc); 

Это, как я делал это, непосредственно ссылки на имя каждого мероприятия.

Смежные вопросы