我正在尝试解决一些基本问题,但有些事情我无法弄清楚。在运行时,应用程序会显示一个输入 PIN 码的提示以及一个确认按钮。一旦您输入正确的 PIN 码(暂时只是“0000”),您就可以进行下一个活动。
public class RewardTimerMainActivity extends Activity {
//Default screen, this comes up when the app is launch, prompts for pin or recovery e-mail
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ListInstalledApps.listForActivity(this);
System.out.println("Starting reward timer main, new code!");
setContentView(R.layout.unlock);
}
public void submitPIN(View view) {
EditText editText = (EditText) findViewById(R.id.pinText);
if (editText.getText().toString().equals("0000")) {
Intent intent = new Intent(this, MainMenu.class);
startActivity(intent);
}
}
}
现在第二个活动由多个选项卡组成。我知道布局是功能性的,实际上相关的代码是正确的,因为我尝试独立运行它并且它工作正常。
public class MainMenu extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_menu);
TabHost tabHost = (TabHost) findViewById(R.id.tabHost);
TabHost.TabSpec spec1=tabHost.newTabSpec("Tab 1");
spec1.setContent(R.id.tab1);
spec1.setIndicator("Tab 1");
TabHost.TabSpec spec2=tabHost.newTabSpec("Tab 2");
spec2.setIndicator("Tab 2");
spec2.setContent(R.id.tab2);
TabHost.TabSpec spec3=tabHost.newTabSpec("Tab 3");
spec3.setIndicator("Tab 3");
spec3.setContent(R.id.tab3);
tabHost.addTab(spec1);
tabHost.addTab(spec2);
tabHost.addTab(spec3);
}
}
问题是,虽然两段代码似乎独立工作,但当我串联运行它们并输入正确的 PIN 并尝试进行第二个活动时,它崩溃了。有人可以解释为什么吗?