Это код, в который я помещаю свои данные в массив списков, который я получаю из веб-службы.
public static ArrayList<HashMap<String, String>> mylist;
for (int i = 0; i < nodes.getLength(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("Name",name);
map.put("Vicinity", vicinity);
map.put("Latitude", lat);
map.put("Longitude", lng);
mylist.add(map);
}
После этого ниже приведен код класса ListView Activity. Где я реализовал щелчок по списку и по щелчку просмотра списка, вызывая другое действие и передавая позицию списка, по которому щелкнули.
Код класса ListViewActivity
public class ListViewActivity extends ListActivity implements OnItemClickListener{
private ListView lv;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.listingatms);
ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.listdata,
new String[] {"Name", "Vicinity"},
new int[] { R.id.item_title, R.id.item_subtitle});
setListAdapter(adapter);
lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
// TODO Auto-generated method stub
Intent showMapMenusIntent = new Intent(ListViewActivity.this, MapMenus.class);
showMapMenusIntent.putExtra("Position", position);
startActivity(showMapMenusIntent);
}
Если вы хотите показать карту в том же упражнении, используйте переменную postion, и на основании этого вы можете получить все значения из mylist (ArrayList).
Например, position = mylist.get (position) .get ("Name"));
Таким образом, вы сможете получить все детали из ArrayList и использовать его в соответствии с вашими требованиями.
Надеюсь, это поможет вам ...