在我的应用中,当选项菜单 - >关于 - >按下,我正在显示DialogActivity
的信息。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
TextView textview = OptionSelDialog.optionsTextView; //(static assigned and pulled in MainActivity)
case R.id.action_about:
textview.setText("This About Msg");
startActivity(new Intent(this, OptionSelDialog.class));
break;
此处OptionSelDialog
是单独的Activity
,尚未从任何地方调用。
我试过了:
startActivity
OptionSelDialog
MainActivity.OnCreate
OptionSelDialog
construtor中使用textview(我知道这是错误的)最后,活动因textView is NULL ;
而崩溃
还有一件事,从第二次应用程序启动它可以正常工作。
请帮助解决。
答案 0 :(得分:2)
实际上,不推荐您的方式。我们有很多方法可以做到这一点。例如:
将数据保存到内存中并在开始活动后将其加载到textview
当您开始新活动时,您应该将捆绑包传递给第二个活动,并从第二个活动中将该值显示给textview。
Intent optionSelDialogIntent = new Intent(xxx.this,OptionSelDialog.class);
optionSelDialogIntent.putExtra("your key", "your text value");
startActivity(optionSelDialogIntent);
在你的第二项活动中:
Bundle bundle = getIntent().getExtras();
if (bundle != null && bundle.containsKey("your key")) {
yourData = bundle.getString("your key");
}
然后使用yourData初始化textview和setText。就是这样。