我一直在搜索其他stackoverflow问题,也在浏览android开发人员指南,但是我还没有找到解决方案。在我的程序中,我要求用户输入刚收到的作业。从那里我收到该消息,然后将其打印在新屏幕上。我想要做的是保存先前输入的消息,并每次将它们与新消息一起打印输出。我遇到的麻烦是一次打印多个消息。我使用了setContentView,但它只打印一条消息。有人有建议吗?我已经在底部发布了我的代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
getActionBar().setDisplayHomeAsUpEnabled(true);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
saveHomework(message);
// Set the text view as the activity layout
setContentView(textView);
}
public void saveHomework(String message)
{
String message2 = message;
TextView textView2 = new TextView(this);
textView2.setTextSize(40);
textView2.setText(message2);
setContentView(textView2);
}
最佳答案
好吧,显然您应该将所有先前输入的消息保留在某个位置。
您的选择:
如果您确定活动过程一直在运行,那么用户可以一直输入消息,则可以使用活动的某些静态变量,并将消息存储在列表或数组中。
如果可以关闭进程,则应使用SharedPreferences将消息存储在文件中。
然后,无论您想显示什么消息,都应该从保存它们的位置阅读它们,并将它们一起传递给setText(messages_list)调用。