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

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

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

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

15.04.2014, 22:34. Просмотров 402. Ответов 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
Exception при нажатии любых кнопок Android
Android ActionBar Tabs наложение вкладок
Android Сменна иконки на ActionBar при её нажатие
Белый фон при прокрутке listview и actionbar в android 2.1 Android
ActionBar при < android 3 Android
Android Смена темы ActionBar при нажатии на кнопку
Android Exception при подключении
Android Exception при использовании анимации фрагментов
При любой ориентации экрана табы были всегда под ActionBar Android
Android Throwing new exception with unexpected pending exception
Android Запретить изменение положения title при добавлении элементов в ActionBar

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

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

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