在tabhost中显示时动态更改textview文本

时间:2011-07-21 14:31:41

标签: android android-tabhost

首先,我是android新手,但在unix,windows上有多年的各种编程经验,但不是Java或android。 我想显示一个带有3个选项卡的选项卡,每个选项卡都有不同的布局文件(可以工作)。 我正在努力展示“空白”模板,然后一旦用户将设置指向一个(即通过共享偏好),就从XML文件中检索数据。

我的问题是永远不会调用函数populateXMLCharacter(使用断点)。选项卡活动始终显示“”,这是一个strig string.xml。 实际上在oncreate函数中放置一个断点也不会被调用。香港专业教育学院曾尝试在onResume中调用populateXMLCharacter,但它也永远不会被调用。

我想是因为调用标签:

    Resources res = getResources(); // Resource object to get Drawables
    TabHost tabHost = getTabHost();  // The activity TabHost
    TabHost.TabSpec spec;  // Resusable TabSpec for each tab

    // Do this and the same for all tabs
    spec = tabHost.newTabSpec("Description").setIndicator("Description",
     res.getDrawable(R.drawable.android)).setContent(R.layout.tab_harp_description);
    tabHost.addTab(spec);

我应该使用意图吗?我认为布局是在一个单独的函数中创建的(在本例中为harpCSDescription.java,然后这允许将该活动插入到tabhost中?

其他功能: 公共类harpcsDescription扩展了Activity {

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView (R.layout.tab_harp_description);
 }
//@Override
protected void onResume() 
{
    // NOW WE ADD DATA TO THE TEMPLATE
    populateXMLCharacter();
}

public void populateXMLCharacter()
{

我已尝试以下列方式使用意图,但它只是在达到任何断点之前崩溃。

http://developer.android.com/resources/tutorials/views/hello-tabwidget.html

请问有人可以指导我创建一个活动,其中包含在创建标签后检索的数据吗?

1 个答案:

答案 0 :(得分:1)

我认为你需要一个意图。要将活动附加到选项卡,请在选项卡主机中编写以下内容:

Intent intent = new Intent(this, MyActivity.class);

然后在标签规范中写道:

tabSpec = tabHost.newTabSpec("name").setIndicator(this.getString(R.string.name)).setContent(intent)

然后在MyActivity类中,您可以指定布局并加载XML数据以填充onCreate()方法中的选项卡。您可以为每个标签使用不同的活动。