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

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

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

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

15.04.2014, 22:34. Просмотров 408. Ответов 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)
Нужен свежий взгляд и обьяснение где же я напартачил. Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2014, 22:34     Навигация в ActionBar: exception при создании вкладок
Посмотрите здесь:

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

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

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

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

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

Белый фон при прокрутке 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...

Exception при подключении - Программирование Android
В onCreate задаю статическое поле, создавая БД Далее пытаюсь открыть подключение для onCreate DataBase.DB = new DataBase(this); ...

Throwing new exception with unexpected pending exception - Программирование Android
Добрый день. Сразу перейдем к коду: public interface ApiInterface { @GET(&quot;object/preview&quot;)

Exception при нажатии любых кнопок - Программирование Android
Я выставил листенер самим правильным образом - через xml, но при нажатии вылетает ошибка: 02-14 21:55:09.355: ERROR/AndroidRuntime(974):...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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