0

サーバーからデータを取得する AsyncTask があり、データを表示するために新しいアクティビティを開始する必要があります。

ASync onPostExecute内でこれを行うと動作します...(ただし、新しいアクティビティは開始されません)

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

これを行うと、null ポインター例外が発生します (TextListDate が null であるため)

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 に答える