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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 249
#1

Как изменить заголовок вкалдки при изменении контента активити - Программирование Android

22.03.2013, 11:03. Просмотров 1406. Ответов 7
Метки нет (Все метки)

Здравствуйте.

Имеется TabHost, содержащий две вкладки. Вкладки добавляются так:
Java
1
2
3
4
5
6
7
8
9
public class TabCollection extends TabActivity {
....
spec1 = tabHost.newTabSpec("items").setIndicator(_заголовок1_).setContent(intent1);
tabHost.addTab(spec1);
....
spec2 = tabHost.newTabSpec("categ").setIndicator(_заголовок2_).setContent(intent2);
tabHost.addTab(spec2);
....
}
Например, я хочу, чтобы соответствующий заголовок (ну или индикатор) менялся при изменении содержимого intent1 или intent2. Можно ли как то это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2013, 11:03     Как изменить заголовок вкалдки при изменении контента активити
Посмотрите здесь:
Изменить из активити данные в фрагменте Android
Android Изменить элемент одной активити из другой
Android Изменить расположение View элементов в активити из кода
Как проверить пустое SharedPreferences или нет при загрузке активити? Android
Android Другой кнопкой из дочерней активности изменить фон той кнопки, которая в родительской активити
Ошибка при при смене активити Android
Как правильно обновить данные для списка при изменении данных в другом фрагменте? Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
22.03.2013, 12:14     Как изменить заголовок вкалдки при изменении контента активити #2
spec1.setIndicator(_заголовок3_)
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 249
22.03.2013, 12:23  [ТС]     Как изменить заголовок вкалдки при изменении контента активити #3
Да это-то понятно. Я не про то. Как можно отследить факт изменения дочерних активностей.
Например
Java
1
intent1 = new Intent().setClass(this, ItemInfo.class);
То есть в эту вкладку загружается активность ItemInfo.class. Делаю я изменения содержимого этой активности и нужно, чтобы изменялся и заголовок вкладки, который содержит эту активность. Как вот отследить этот момент.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
22.03.2013, 14:31     Как изменить заголовок вкалдки при изменении контента активити #4
открой код этих активностей и посмотри где они меняются.
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 249
22.03.2013, 16:04  [ТС]     Как изменить заголовок вкалдки при изменении контента активити #5
Всерн не догнал...
Если вот так, на пальцах попробовать сформулировать вопрос:
пусть, например две активности. Родительская:
Java
1
2
3
4
5
6
7
8
9
10
public class TabCollection extends TabActivity {
метод onCreate(){
....
intent1 = new Intent().setClass(this, ItemInfo.class);
spec1 = tabHost.newTabSpec("items").setIndicator(_заголовок1_).setContent(intent1);
tabHost.addTab(spec1);
....
}
...
}
и дочерняя (ItemInfo.class в нашем примере), которая загружается во вкладку
Java
1
2
3
4
5
6
7
8
9
10
11
12
public class TabCollection extends TabActivity {
метод onCreate(){
...
int a=1;
int b=1;
if(a==b){
 //и вот здесь мы меняем заголовок у вкладки. Как мне связать дочернюю и родительскую активность, чтобы в у вкладки родительской активности изменился заголовок (индикатор)?
}
...
}
...
}
Добавлено через 19 минут
Эх, ошибка, дочерняя активность вот такая (хотя не суть):
Java
1
2
3
4
5
6
7
8
9
10
11
12
public class ItemInfo extends Activity {
метод onCreate(){
...
int a=1;
int b=1;
if(a==b){
 //и вот здесь мы меняем заголовок у вкладки. Как мне связать дочернюю и родительскую активность, чтобы в у вкладки родительской активности изменился заголовок (индикатор)?
}
...
}
...
}
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
22.03.2013, 16:44     Как изменить заголовок вкалдки при изменении контента активити #6
ну как пример
Java
1
2
3
4
5
6
7
public class TabCollection extends TabActivity {
public static TabSpec spec1;
}
 
....
TabCollection.spec1.setIndicator("_заголовок3_");
....
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 249
22.03.2013, 17:28  [ТС]     Как изменить заголовок вкалдки при изменении контента активити #7
Нет, не меняет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2013, 14:50     Как изменить заголовок вкалдки при изменении контента активити
Еще ссылки по теме:
Ошибка при вызове активити Android
Android Handler при пересоздании активити
Android ListView и мультивыбор при открытии активити
Запуск анимации при старте активити Android
Сохранение данных при пересоздании активити Android

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

Или воспользуйтесь поиском по форуму:
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 249
25.03.2013, 14:50  [ТС]     Как изменить заголовок вкалдки при изменении контента активити #8
Решил сделать вот так ради эксперимента:
Java
1
2
3
4
5
6
7
8
9
10
11
метод onCreate{
...
spec.setIndicator(_title1_) 
...
}
...
метод onStart{
...
spec.setIndicator(_TITLE2_) 
...
}
То есть тупо проверить, реагирует ли TabSpec на последующую смену индикатора. Так нет. Остается именно первый заголовок, введенный в методе onCreate. Метод старт срабатывает (проверял toast'ом), но индикатор не меняет. В чем может быть проблема?
Yandex
Объявления
25.03.2013, 14:50     Как изменить заголовок вкалдки при изменении контента активити
Ответ Создать тему
Опции темы

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