我遇到了一个无法找到解决方案的问题。 我有一个地图活动和一个listview活动。在这个listview活动中,我已经列出了一个项目列表。我找不到的问题点击此列表视图后如何订购,然后out是我创建的地图活动。在地图活动中,有一个标记,其位置已经安装。 如何在点击列表视图时订购,然后输出具有相应位置的地图活动。
这是我使用的编码
Layer_Hotel.java
heapq
BelitungMap.Java 这是地图活动
heapq
根据我使用的编码。如何使用Layer_Hotel.Java打开BelitungMap.Java
在我创建的列表视图上。单击第一个列表视图时,它将显示谷歌地图应用程序。
我认为这是因为import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.util.ArrayList;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
public class Layer_Hotel extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hotel);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, arrName);
ListView listView = (ListView) findViewById(R.id.id_list);
listView.setAdapter(adapter);
*/
ArrayList<Xiaomi> list = new ArrayList<Xiaomi>();
list.add(new Xiaomi("Billiton Hotel & Klub", "Jl. Letda Zainudin Aba RT.01 RW.01 No.26"));
list.add(new Xiaomi("Hotel Lux Melati", "Jl. Kedung Halang"));
list.add(new Xiaomi("Grand Hatika Hotel", "Jl. Raya Sindangbarang"));
list.add(new Xiaomi("Golden Tulip Essential Belitung", "Jl. Brigjen Saptaji Hadi Prawira"));
list.add(new Xiaomi("BW SUITE Belitung Hotel", "Jl. Veteran"));
list.add(new Xiaomi("Bahamas Hotel & Resort", "Jl. KH. Soleh Iskandar"));
list.add(new Xiaomi("The Villa of Lor In Tanjung Tinggi", "Jl. RE Abdullah No. 16"));
list.add(new Xiaomi("Hotel Santika Premiere Beach Resort Belitung", "Jl. Tentara Pelajar"));
list.add(new Xiaomi("Arumdalu Private Resorts", "Jl. KH Sholeh iskandar"));
list.add(new Xiaomi("Leebong Island Resort", "Jl. Raya Parakan Benda"));
ListHotel adapter = new ListHotel(this, list);
ListView listView = (ListView) findViewById(R.id.id_list);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
switch (position)
{
case 0 : Uri gmmIntentUri = Uri.parse("geo:-2.739872,107.632400?z=17");
Intent htl1 = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
htl1.setPackage("com.google.android.apps.maps");
startActivity(htl1);
break;
case 1 : Intent htl2 = new Intent(Layer_Hotel.this, BelitungMap.class);
startActivity(htl2);
break;
case 2 : Intent htl3 = new Intent(Layer_Hotel.this, BelitungMap.class);
startActivity(htl3);
break;
case 3 : Intent htl4 = new Intent(Layer_Hotel.this, BelitungMap.class);
startActivity(htl4);
break;
case 4 : Intent htl5 = new Intent(Layer_Hotel.this, BelitungMap.class);
startActivity(htl5);
break;
case 5 : Intent htl6 = new Intent(Layer_Hotel.this, BelitungMap.class);
startActivity(htl6);
break;
case 6 : Intent htl7 = new Intent(Layer_Hotel.this, BelitungMap.class);
startActivity(htl7);
break;
case 7 : Intent htl8 = new Intent(Layer_Hotel.this, BelitungMap.class);
startActivity(htl8);
break;
case 8 : Intent htl9 = new Intent(Layer_Hotel.this, BelitungMap.class);
startActivity(htl9);
break;
case 9 : Intent htl10 = new Intent(Layer_Hotel.this, BelitungMap.class);
startActivity(htl10);
break;
}
//Toast.makeText(Layer_Hotel.this, "PILIH",
//Toast.LENGTH_SHORT).show();
}
});
}
}
我不知道它是否真实,因为这是问题所在。
答案 0 :(得分:0)
因此,如果我理解你想要的是当你点击列表视图中的项目时,它会根据列表中的元素打开带有标记的地图,所以这是你如何做到的:
首先您应该使用此元素创建对象:
imports: [
BrowserModule,
HttpModule,
Ionic2RatingModule ,
FormsModule,
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot(),
IonicImageLoader.forRoot()
]
创建您的String name;
String adresse;
Double latitude;
Double longitude;
和constructor
以及geters
第二次,您应该使用setters
为您的adapter
创建ListView
创建了ArrayList
然后在您object
的{{1}}方法上,使用getView
创建一个新的adapter
并向其传递一些额外费用,{{ 1}}
添加您需要的所有信息adresse,纬度,经度......然后拨打view.setOnclickListenner()
最后使用Intent
获取名称,并使用intent.addExtra("PLACE_NAME",listOfYourObject.get(position).getname());
和startActivity(intent)
获取所需的其他值。
现在你拥有所需的东西,用specefic的位置,名字和地址来创建你的标记!