带有多个标记的Google地图:在MarkerClick

时间:2016-08-26 16:59:04

标签: android google-maps android-studio

我正在尝试制作一个包含大量标记的Google地图应用,当用户点击其中一个标记时,会打开一个新活动,显示该标记的名称和一些其他信息。我计划放置按钮和东西,所以我认为infowindow不会削减它。

我的代码是一团糟,因为我只是新手,只要他们工作就放代码,所以我只是展示onMarkerClick部分(我遇到问题所以它赢得了#t太混乱了

    public boolean onMarkerClick(Marker loc) {
    Intent intent = new Intent(this, stars.class);
    Bundle bundle = new Bundle();
    for (index3=0; index3 < array1.length; index3++) {    //array1 stores all of my markers' id
        if (loc.getTitle().equals(array5[index3])){       //array5 stores all of my markers' names
            bundle.putString("name", loc.getTitle());
            intent.putExtras(bundle);
            startActivity(intent);
            }
        }

    return true;
    }

和我的stars.java

public class stars extends MapsActivity {
String sname;
TextView tv;
Bundle bundle = getIntent().getExtras();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_stars);
    TextView tv = (TextView)findViewById(R.id.tv);
    if(!bundle.isEmpty()){
        sname = bundle.getString("name");
        }
    tv.setText(sname);
    }

}

当我运行此操作时,我收到此错误&#34;尝试调用虚拟方法&#39; android.os.Bundle android.content.Intent.getExtras()&#39;在null对象引用&#34; 我尝试将array5公开然后在stars.java中使用它,但它告诉我它是null。也试过试验捆绑但我继续得到空错误的事情

1 个答案:

答案 0 :(得分:0)

我会在onCreate方法中使用这个语句:

 Bundle bundle = getIntent().getExtras();

并检查空值

if (bundle != null) {

    String sname = bundle.getString("name");                

}