Приложение с вкладками Android - список подключен к Google Maps - PullRequest
1 голос
/ 27 декабря 2011

В одной из моих вкладок есть следующее:

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" };

Этот список находится на вкладке. Я хочу изменить его, чтобы при щелчке по одному из элементов (скажем, мы называем его «Лондонский Биг Бен», я хочу каким-то образом привязать к нему координаты) он перенаправляется в Google Maps через WebView (самый простой) или MapView появляется на вкладке. (но панель вкладок все еще видна).

Может ли кто-нибудь предоставить ссылки на учебники или помощь?

1 Ответ

0 голосов
/ 22 марта 2012

Это код, в который я помещаю свои данные в массив списков, который я получаю из веб-службы.

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 и использовать его в соответствии с вашими требованиями.

Надеюсь, это поможет вам ...

...