의외로 검색해도 안나오네요..
외국사이트에 누가 같은종류의 질문에 대한 답변을 올린것이 있어서 긁어왔습니다.
The short answer is, you're not missing anything. The Android SDK doesn't provide a direct method to change the indicator of a TabHost after it's been created. The TabSpec is only used to build the tab, so changing the TabSpec after the fact will have no effect.
I think there's a workaround, though. Call mTabs.getTabWidget() to get a TabWidget object. This is just a subclass of ViewGroup, so you can call getChildCount() and getChildAt() to access individual tabs within the TabWidget. Each of these tabs is also a View, and in the case of a tab with a graphical indicator and a text label, it's almost certainly some other ViewGroup (maybe a LinearLayout, but it doesn't matter) that contains an ImageView and a TextView. So with a little fiddling with the debugger or Log.i, you should be able to figure out a recipe to get the ImageView and change it directly.
The downside is that if you're not careful, the exact layout of the controls within a tab could change and your app could break. Your initial solution is perhaps more robust, but then again it might lead to other unwanted side effects like flicker or focus problems.
내용을 보면 안드로이드에서 직접 Label을 바꾸는 명령어는 없고,
TabGroup을 받아와서 그 안에 들어있는 label에 대한 정보를 변경해서 다시 넣는방법같은 방법으로나 가능할것같다네요...