Tabs之间的关系 - android

时间:2011-07-10 18:37:48

标签: android android-activity android-tabhost

我想用两个标签创建应用程序,例如:

MainClass:

private TabHost tabHost;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    tabHost = (TabHost)findViewById(android.R.id.tabhost);

    TabSpec firstTabSpec = tabHost.newTabSpec("tid1");
    TabSpec secondTabSpec = tabHost.newTabSpec("tid2");

    firstTabSpec.setIndicator("First Tab Name").setContent(new Intent(this,MainTab.class));
    secondTabSpec.setIndicator("Second Tab Name").setContent(new Intent(this,ResultTab.class));

    tabHost.addTab(firstTabSpec);
    tabHost.addTab(secondTabSpec);
}

public TabHost getTabHost() {
    return tabHost;
}

FirstTab:

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.maintab);
    }

SecondTab:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
setContentView(R.layout.resulttab);
}

在第一个标签上,我有一些按钮,我计算一些数学运算。想要在计算结束时在SecondTab上显示结果。

第一个问题: 我不知道,如何从FirstTab向SecondTab发送数据(String)。 托盘:

  • 在Tab类中创建自我参数,
  • setOnTabChangedList
  • 和一些类似的 但没有结果。

第二个问题(现在很小:) :): 当我在FirstTab上选择一些参数(我的按钮,列表,...)并将视图更改为SelectTab,并返回到FirstTab时,所选参数就消失了。

有人帮助我吗?

1 个答案:

答案 0 :(得分:1)

  1. 您可以使用意图发送字符串。例如:

    Intent intent = new Intent()。setClass(this,Secondtabclass.class);         intent.putExtra(“mykey”,“要发送的字符串”);

    startActivity(意图);

  2. 接着你接受的接收活动:

    String recievedString = this.getIntent().getStringExtra("mykey");
    
    1. 如果覆盖OnResume和OnPause方法,您可以保存列表的状态以及您喜欢的任何内容。每当你的活动失去焦点时,就会调用暂停,每次你的活动恢复焦点时都会调用简历。像这样:

      @覆盖     protected void onResume(){         super.onResume();

          //Do stuff
      }