我在其中一个标签中有以下内容:
ListView list=(ListView)findViewById(R.id.countries);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, COUNTRIES);
list.setAdapter(adapter);
static final String[] COUNTRIES = new String[] {
"List Item 1", "List Item 2", "List Item 3" };
此列表位于选项卡中。我想改变它,所以当点击其中一个项目时(比如我们称之为伦敦大本钟,我想以某种方式将坐标附加到那里)它会通过WebView(最简单)转移到谷歌地图,或者MapView出现在选项卡上(但标签栏仍然可见)。
任何人都可以提供教程或帮助的链接吗?
答案 0 :(得分:0)
这是我将数据放入arraylist中的代码,我将从Web Service中获取该数据。
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类的代码。我在click listner上实现的,点击listview调用另一个活动并传递点击列表的位置。
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获取所有细节,并根据您的要求使用它。
希望这会对你有帮助......