我想用两个标签创建应用程序,例如:
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)。 托盘:
第二个问题(现在很小:) :): 当我在FirstTab上选择一些参数(我的按钮,列表,...)并将视图更改为SelectTab,并返回到FirstTab时,所选参数就消失了。
有人帮助我吗?
答案 0 :(得分:1)
您可以使用意图发送字符串。例如:
Intent intent = new Intent()。setClass(this,Secondtabclass.class); intent.putExtra(“mykey”,“要发送的字符串”);
startActivity(意图);
接着你接受的接收活动:
String recievedString = this.getIntent().getStringExtra("mykey");
如果覆盖OnResume和OnPause方法,您可以保存列表的状态以及您喜欢的任何内容。每当你的活动失去焦点时,就会调用暂停,每次你的活动恢复焦点时都会调用简历。像这样:
@覆盖 protected void onResume(){ super.onResume();
//Do stuff
}