Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
hornet2319
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 3
#1

Навигация в ActionBar: exception при создании вкладок - Программирование Android

15.04.2014, 22:34. Просмотров 416. Ответов 0
Метки нет (Все метки)

Доброго времени суток ув. форумчане!
В процессе написания своего первого нормального приложения на ОС Android я столкнулся с остаточно неприятной ситуацией: код прост до жути, да и вроде все верно но при експорте (использую Eclipse) и запуске на телефоне с приложением происходит ошибка и его работа завершается. Код с ошибкой ниже:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
public class TabsActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_tabs);           
                ActionBar bar = getActionBar();
                bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
                bar.setDisplayShowTitleEnabled(false);
                Tab tab1 = bar.newTab();
                tab1.setText(R.string.tab_down);
                tab1.setTabListener(new TabListener<DownFragment>(this,"download",DownFragment.class));
                  
                Tab tab2 = bar.newTab();
                tab2.setText(R.string.tab_inst);
                tab1.setTabListener(new TabListener<InstallFragment>(this,"installed",InstallFragment.class));
          
        
         bar.addTab(tab1);
         bar.addTab(tab2);
 
}
public static class TabListener<T extends Fragment> implements ActionBar.TabListener {
         private Fragment mFragment;
         private final Activity mActivity;
         private final String mTag;
         private final Class<T> mClass;
         /** Constructor used each time a new tab is created.
           * @param activity  The host Activity, used to instantiate the fragment
           * @param tag  The identifier tag for the fragment
           * @param clz  The fragment's Class, used to instantiate the fragment
           */
         public TabListener(Activity activity, String tag, Class<T> clz) {
                 mActivity = activity;
                 mTag = tag;
                 mClass = clz;
         }
         /* The following are each of the ActionBar.TabListener callbacks */
         public void onTabSelected(Tab tab, FragmentTransaction ft) {
                 // Check if the fragment is already initialized
                 if (mFragment == null) {
                         // If not, instantiate and add it to the activity
                         mFragment = Fragment.instantiate(mActivity, mClass.getName());
                         ft.add(android.R.id.content, mFragment, mTag);
                 } else {
                         // If it exists, simply attach it in order to show it
                         ft.attach(mFragment);
                 }
         }
         public void onTabUnselected(Tab tab, FragmentTransaction ft) {
                 if (mFragment != null) {
                         // Detach the fragment, because another one is being attached
                         ft.detach(mFragment);
                 }
         }
         public void onTabReselected(Tab tab, FragmentTransaction ft) {
                 // User selected the already selected tab. Usually do nothing.
         }
}
 
}
Когда я заккоменчую следующие 2 строки:
Java
1
2
bar.addTab(tab1);
bar.addTab(tab2);
Приложение работает, но табов, есстественно, нету.
Для полного представления я привел exception из logcat:
E/AndroidRuntime(18088): java.lang.RuntimeException: Unable to start activity ComponentInfo{mercuryproject.main_package/mercuryproject.main_package.TabsActivity}: Java.lang.IllegalStateExceprion: Action Bar Tab must have a Callback
E/AndroidRuntime(18088): at mercuryproject.main_package.TabsActivity.onCreate(TabsActivity.java:46)
Нужен свежий взгляд и обьяснение где же я напартачил. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2014, 22:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Навигация в ActionBar: exception при создании вкладок (Программирование Android):

Ошибка при создании вкладок в match_parent - Программирование Android
Здравствуйте. Пытаюсь научиться программировать под Андроид. Для того что бы понять как и что работает беру уже готовые примеры из книг или...

ActionBar Tabs наложение вкладок - Программирование Android
Здравствуйте! Вот мой листенер на табы: package com.contedevel.timetable; import android.app.ActionBar.Tab; import...

Ошибка при запуске AsyncTask при нажатии на пункт ActionBar - Программирование Android
Здравствуйте, почему при нажатии на пункт Action Bar'а вылетает ошибка? @Override public boolean onCreateOptionsMenu(Menu menu)...

ActionBar при < android 3 - Программирование Android
Добрый день. Скажу сразу, что я полный нуб в этой теме. Мне нужно использовать ActionBar на версиях андроид меньше 3. Я знаю, что для этого...

Сменна иконки на ActionBar при её нажатие - Программирование Android
Здравствуйте! У меня на ActionBar должна быть иконка для включения и отключения звука в приложении. Тоисть при нажатии на иконку она...

Смена темы ActionBar при нажатии на кнопку - Программирование Android
Подскажите пожалуйста как можно изменить тему ActionBar, при нажатии на кнопку.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2014, 22:34
Привет! Вот еще темы с ответами:

Белый фон при прокрутке listview и actionbar в android 2.1 - Программирование Android
При прокрутке ListView на Android 2.3 появляется белый фон. Ставил Cache Color Hint на прозрачный или на цвет фона, не помогает. Как это...

Запретить изменение положения title при добавлении элементов в ActionBar - Программирование Android
Привет всем! Размещаю title посередине а когда добавляю в actionbar menu элементы, title отодвигается. Что делать? protected...

При любой ориентации экрана табы были всегда под ActionBar - Программирование Android
Уважаемые программисты! Подскажите, пожалуйста как можно сделать так, чтобы табы были всегда под ActionBar? Есть Activity с ActionBar в...

Обновление данных в ViewPager при перелистывании вкладок - Программирование Android
Есть две вкладки (смотри картинку). На первой нажимаем кнопку плюс - пишем имя - сохраняю item. Теперь, при перелистывании этот Item...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru