2

2つのビューを持つAndroidアプリを使用して、Webサービスからデータを受信するアプリを作成しています。

最初にログインとパスワードを尋ねます。次に、Webサービスへのアクティビティ要求を行い、データがある場合は、リストビューにデータを表示するインテントを作成します。

主要

private ArrayList accountlist = new ArrayList();
...
accountlist.add(...)
...
Intent intent = new Intent(Main.this, Second.class);
intent.putExtra("accountlist", accountlist);
intent.putExtra("login", loginEditText.getText().toString());
intent.putExtra("pass", passwordEditText.getText().toString());
startActivity(intent);

2番

private ArrayList accountlist;
...
public void onCreate(Bundle savedInstanceState) {
 ...
 setListAdapter(new ArrayAdapter<String>(this, R.layout.results,accountlist));
 ...
}
private void refresh() {
 ...
 accountlist.add(...)
 setListAdapter(new ArrayAdapter<String>(this, R.layout.results,accountlist));
}

その結果、現在のリストに追加されているアイテムがあります(たとえば、2つのアイテムがある場合、4回更新すると、ビューに10個のアイテムが表示され、最後の2つだけがワンドになります)。

あなたがアイデアを持っているなら:D

4

2 に答える 2

0

アクティビティ間でArrayListを直接渡すことはできません。シリアル化して、ある種のオブジェクトに移動する必要があります。これを読んでください:Androidで1つのアクティビティから別のアクティビティにオブジェクトを渡すにはどうすればよいですか?

于 2012-05-22T20:27:32.690 に答える
0

さて、私はちょうど使用しました

accountlist.clear();

直後のメチド

Intent intent = new Intent(Main.this, Second.class);
intent.putExtra("accountlist", accountlist);
intent.putExtra("login", loginEditText.getText().toString());
intent.putExtra("pass", passwordEditText.getText().toString());
startActivity(intent);

インテントを起動するために再利用されるリストをクリアします!

于 2012-05-22T20:46:54.927 に答える