У меня есть три вкладки в моем Приложении. На событии под одной Вкладкой я хочу изменить заголовок другой существующей Вкладки. Это - заголовок, который мы предоставляем при добавлении вкладок к TabHost.
Например: TabHost.addTab (tabHost.newTabSpec ("Tab2")) .setIndicator ("Я должен быть Изменен динамично"), .setContent....
В вышеупомянутом примере заголовок tab2, который я обеспечил под setIndicator (), должен быть изменен динамично.
Есть ли любой способ выполнить это.
Если вы не найдете более чистого метода, вы можете получить доступ к самому TabWidget
.
В TabWidget
содержатся относительные макеты для каждой из ваших вкладок, каждая из которых содержит ImageView
и TextView
. Для прямого доступа к текстовому представлению на вкладке с индексом 0 вы можете сделать следующее:
mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title);
Затем просто отобразите его как TextView
и вы можете редактировать его как угодно. У меня сработало следующее:
((TextView)mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title)).setText("New");
Вместо того, чтобы устанавливать индикатор как String
, используйте тот, в котором вы устанавливаете View
, который будет использоваться. Затем вы можете удерживать это представление
(например, TextView
) и изменять его содержимое по мере необходимости.