1

我一直在搜索其他 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);
}
4

1 回答 1

1

好吧,显然您应该在某个地方保留所有以前输入的消息。

您的选择:

  1. 如果您确定您的活动流程在用户可以输入消息时一直处于活动状态,您可以使用活动的一些静态变量并将消息存储在列表或数组中。
  2. 如果您的流程可以关闭,您应该使用SharedPreferences将消息存储在一个文件中。

然后,无论您想在哪里显示消息,都应该从保存它们的位置读取它们,并将它们一起传递给 setText(messages_list) 调用。

于 2012-11-21T16:42:48.550 回答