對於Android的更高版本(5.1)改變ChildIndex和文本,這工作對我來說:
請注意這個例子只改變第一個標籤的文本。調整任意標籤不會太困難。
FragmentTabHost tabHost = (FragmentTabHost)view.findViewById(android.R.id.tabhost);
AppCompatTextView tv = null;
RelativeLayout parentLayout = (RelativeLayout)tabHost.getTabWidget().getChildAt(0);
for (int i = 0; i < parentLayout.getChildCount(); i++) {
View tempView = parentLayout.getChildAt(i);
if (tempView instanceof AppCompatTextView) {
tv = (AppCompatTextView)tempView;
}
}
if (tv != null) {
tv.setText("Your updated text goes here");
}
我所做的只是通過調試器運行並找出層次結構。我無法使android.R.id.title正常工作,因爲文本視圖現在由不同的ID引用。無論如何,它現在也是一個AppCompatTextView,而不是一個普通的舊式TextView。
再次,這是非最佳的,但獲得更多的最新版本的Android所需的結果。
希望這會有所幫助!
感謝您的回覆。我在訪問TabHost時沒有問題,我的問題是我無法在TabHost中找到任何可以更改選項卡上文本的內容。一旦我擁有TabHost引用,如何更改文本? – 2010-10-09 20:33:07
好的,謝謝你的鏈接。你是對的,這真的很危險,我不知道爲什麼沒有更簡單的方法,但它爲我工作,所以它現在會做。再次感謝! – 2010-10-09 21:58:04