tabactivity-如何修改在TabActivity里一个Tab的标题

问题描述

如何修改在TabActivity里一个Tab的标题
我在 TabActivity 底部设置了 tabs,由下面的几个不同的 activity 组成

public class HomeScreen extends TabActivity {private TabHost mTabHost;@Overridepublic void onCreate(Bundle icicle) {    super.onCreate(icicle);    try{    setContentView(R.layout.hometabs);    Resources res = getResources(); // Resource object to get Drawables    mTabHost = getTabHost();  // The activity TabHost    TabHost.TabSpec spec;  // Reusable TabSpec for each tab    Intent intent;  // Reusable Intent for each tab    String strName;    // Create an Intent to launch an Activity for the tab (to be reused)    strName=Central.Res.getString(R.string.tab_Books);    intent = new Intent().setClass(this BookList.class);    spec = mTabHost.newTabSpec(strName).setIndicator(""""                      res.getDrawable(R.drawable.ic_menu_database))                  .setContent(intent);    mTabHost.addTab(spec);    // Create an Intent to launch an Activity for the tab (to be reused)    strName=Central.Res.getString(R.string.tab_Questions);    intent = new Intent().setClass(this QuestionsList.class);    intent.putExtra(""NoteType""  UserDataSQLHelper.NOTE_TYPE_QUEST );    spec = mTabHost.newTabSpec(strName).setIndicator(""""                      res.getDrawable(R.drawable.ic_menu_dialog))                  .setContent(intent);    mTabHost.addTab(spec);

问题是对于每一个tab都有同样的窗口标题。窗口标题显示的是应用程序的名字,我想要把窗口标题名字换成tab的名字。我试着通过调用相应的onCreate()方法里面的setTitle(""MyTitle"");这个方法来实现,并且重写TabActivity onChildTitleChanged:

public void onChildTitleChanged(Activity childActivity CharSequence title)        {             View tabView = mTabHost.getCurrentTabView();             int idTitle = android.R.id.title;             TextView tvTitle = (TextView) tabView.findViewById(idTitle);             tvTitle.setText(title);        }

但是结果不是这样的,它在 Tab 图标下面给 Tab 设置了 text。
请大家帮忙指点。

解决方案

试一下这段代码:

tabHost.setOnTabChangedListener(new OnTabChangeListener() {                     @Override            public void onTabChanged(String tabId) {                                Log.i(""Tab id"""+tabId);                setTitle(tabId);            }        });    

解决方案二:

setIndicator (CharSequence label Drawable icon).

使用这个函数和标签将显示为一个标题。

时间: 2024-10-27 17:33:41

tabactivity-如何修改在TabActivity里一个Tab的标题的相关文章

android用ActivityGroup实现tabhost一个tab多界面

问题描述 android用ActivityGroup实现tabhost一个tab多界面 tabhost界面 mTabHost = getTabHost(); //FileMianActivity mTabHost.addTab(mTabHost .newTabSpec(TabBindingConfig.FILE_PERSONAL) .setIndicator( TabBindingConfig.FILE_PERSONAL) .setContent(new Intent(TabActivity.t

代码-请问这个程序怎么修改,总是提示一个错误

问题描述 请问这个程序怎么修改,总是提示一个错误 #include#include#include#include#define N 3#define M 10int add = N-1;int sum[N]={0}Max[N]Min[N];float aver[N]={0};struct player{ int num; char name[8]; int score[M];}PL;void Inistplayer(PL player[]int n){ int i; for(i=0;i sca

代码-如何修改数据库中某一个字段的名称

问题描述 如何修改数据库中某一个字段的名称 我是新手 不会用在c#的wpf里 用代码修改 有没有大神给个代码 解决方案 修改数据库里字段的名称,和c#无关,需要用sql来实现 修改列名 ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN_NAME TO NEW_COLUMN_NAME; 解决方案二: 修改字段就是用sql语句 sqlserver中有sp_rename存储过程http://www.cnblogs.com/ringnet/archive/2

javaweb-在一个自定义标签中利用out.write输出里一个自定义标签失效

问题描述 在一个自定义标签中利用out.write输出里一个自定义标签失效 public void doTag() throws JspException, IOException { Book book = null; JspContext jc = super.getJspContext(); JspWriter out = jc.getOut(); Object value = jc.getAttribute(bookMap); // if (value instanceof Map) {

jQuery UI Tabs 基于 jQuery 的一个Tab选项卡导航,如何保存选项卡的选中状态

问题描述 jQueryUITabs基于jQuery的一个Tab选项卡导航,如何保存选项卡的选中状态比方我在TABS-2中的保存按钮中保存后,怎么将选项卡还是选中TABS-2呢? 解决方案 解决方案二:为你的TABS-2里的<a>命名一个id然后通过脚本设置aID.click()解决方案三:这个还真的不好说,页面保存数据几乎不能,我觉得还是借用xml或者其他存储数据的工具来保存,用到的时候再取出来就可以了解决方案四:引用1楼sandy945的回复: 为你的TABS-2里的<a>命名一

如何实现:一个Tab中的List点击某个Item后想把该项添加到另一个tab中的ListView中?

问题描述 一个Tab中的List点击某个Item后如何才能把该项添加到另一个tab中的ListView中?public class Tab2ListAdapter extends BaseAdapter {ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();private LayoutInflater inflater;public Tab2Li

苹果mac电脑如何修改U盘里的文件

  苹果mac电脑怎么修改U盘里的文件 第一,要查看一下U盘的格式是什么 如果U盘是FAT格式,打开U盘,可以直接把文件复制粘贴过来,就和使用window系统一样.但是这个内存必须要小,U盘内存不能超过4G.如果U盘格式是NTFS,则苹果系统是无法识别的,可以打开U盘,但是修改不了,虽然Mac系统暂时不提供NTFS分区的存储设备的支持,但是我们可以借助第三方软件来修改. 第二,这里有一款实用简便的软件非常值得大家借鉴,NTFS FOR MAC一款专门针对NTFS格式不能读取的困惑. 图一:NTF

mfc cmfctabctrl-用CMFCTabCtrl类创建一个Tab控件,然后在该控件上添加一个对话框

问题描述 用CMFCTabCtrl类创建一个Tab控件,然后在该控件上添加一个对话框 用CMFCTabCtrl类创建一个Tab控件,然后在该控件上添加一个对话框,但是添加之后,会出现setfouce的问题,也有__debugbreak()问题.. 有没有大神给个代码看看,我怎么改都不行

解压jar-关于怎样修改jar包里面的.class 文件并重新打包的问题?

问题描述 关于怎样修改jar包里面的.class 文件并重新打包的问题? 我有个jar包是写的surfaceView的信息,但我想修改这个类,就用解压软件解压后,用jd-jui软件打开,将这个类复制到text文件中修改后,想编译一下再放入jar中,但是编译不了我用javac view.java 提示找不到这个类引入的其他类,请问各位大侠该怎样做,您的帮助,永远感激! 解决方案 这样修改不安全,反编译出来的java文件存在一定风险的解析错误,最保险的方法是直接修改字节码