私はXMLフィードからのデータをロードし、様々な活動とさまざまなタブを作成しています私のメインクラスでのArrayListを定義している:私はハッシュマップのArrayListのへのマップエントリを置く場所の別のクラスのArrayList/Hashmapにアクセスする(反復する)方法は?
static ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
例:
for (int i = 0; i < 10; i++) {
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element)nodes.item(i);
map.put("id", XMLfunctions.getValue(e, "id"));
map.put("lat", "Lat: " + XMLfunctions.getValue(e, "lat"));
map.put("long", "Long: " + XMLfunctions.getValue(e, "long"));
mylist.add(map);
}
最初のタブはListViewActivityであると私は正常にメインクラスでのArrayListを参照してリストを作成することができる午前:リストアダプタを介してclass.mylist:
ListAdapter adapter = new SimpleAdapter(
ListViewActivity.this,
main.mylist, R.layout.list,
new String[] { "id", "lat", "long" },
new int[] { R.id.item_id, R.id.item_lat, R.id.item_long });
setListAdapter(adapter);
私の2番目のタブがMapViewのであり、私が正常にタブを切り替えることが可能です、タブレイアウト内の地図を表示し、&ズームなどをパン、私は助けを必要と
は「LATにアクセスする方法を理解していますメインクラスの "mylist" ArrayList/Hashmap内の "長い"文字列(注::メインクラスでArrayList/Hashmapを宣言し、大きなXMLフィードであるため、データを再読み込みしたり、メモリ内にオブジェクトが多すぎることを望まないようにしました。)。
私の目的は、これらの緯度/経度座標をGeoPointに変換してマップオーバーレイを使用して表示することです。私はすでにマップアクティビティクラスにハードコードされた固定GeoPointsを使用してこれを行うことができます。しかし、私が上に書いたように、これらの「固定」ジオポイントを置き換え、代わりに「mylist」ArrayList/Hashmapの内容を使用する必要があります。
私はプログラミングJava/Androidに新しく(< 1ヶ月の経験があります)、これはすべて意味があると思いますか?誰かが説明したり、データにアクセスする方法の例を挙げたりすることができるように願っています...私は 'Iterations'のようなさまざまな手段を実装しようとしましたが、まだ動作していません。
こんにちはJoru、はい私はすでに、静的変数として「マイリスト」のArrayListを宣言していた - という意向を経由して、それを渡すよりも。上の提案で、私は今、ArrayListを繰り返し処理し、Logcatのhashmapオブジェクトのすべてのデータを表示することができました。しかし、値を取得した後も、id、lat、longなどの特定のエントリにアクセスする方法はまだ分かりません。 (申し訳ありませんが、私の質問は非常に基本的ですが、私は非常に初心者です説明した場合) – Kevin
あなたのコードをもう一度見て、あなたは何らかの種類の小さなクラスを定義し、hashmapを使用する代わりにそのリストを使用することができます。 id、lat、およびlongメンバーを持つクラス。 http://kkrit.com/n/Java_1.6_Tutorial/java/javaOO/classes.htmlこれは、クラスを宣言する方法の例です。 latにアクセスするには、たとえば今のようにmap.get( "lat");を実行する必要があります。 – Joru