我一直在搜索其他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)调用。

10-07 19:45
查看更多