0

我有一个 AsyncTask 从服务器检索数据,然后需要启动一个新的 Activity 来显示数据。

在异步 onPostExecute 中执行此操作...(但不会启动新活动)

setContentView(R.layout.activity_list);
TextView textListDate = ((TextView)findViewById(R.id.textListDate));
textListDate.setText(FormatUtilities.formatDateLong(list.getDateFor()));

这样做会导致空指针异常(由于 TextListDate 为空

Intent in = new Intent(super.getAppContext(), List.class);
in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
super.getAppContext().startActivity(in);
TextView textListDate = ((TextView)findViewById(R.id.textListDate));
textListDate.setText(FormatUtilities.formatDateLong(list.getDateFor()));

这样做会导致屏幕加载我想要的内容,然后几乎立即被空白......

Intent in = new Intent(super.getAppContext(), List.class);
in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
super.getAppContext().startActivity(in);
setContentView(R.layout.activity_list);
TextView textListDate = ((TextView)findViewById(R.id.textListDate));
textListDate.setText(FormatUtilities.formatDateLong(list.getDateFor()));

关于我所缺少的任何建议?我认为这与 findViewById 试图访问“当前”活动的视图而不是新的活动有关......

我是否需要以某种方式将我的数据传递给新的活动并在下一个活动中执行 findViewById ?

谢谢您的帮助。

4

1 回答 1

2

1)- 您应该将数据保存在 ArrayList 中或根据服务器的响应,并将该数据与键、值对与意图一起放入,然后在下一个活动中检索该意图。2)- 现在您可以在所需位置显示该数据,即列表视图、文本视图等。

谢谢

于 2012-09-18T07:08:08.943 回答