我正在使用带有叠加项目的Google地图API,并希望能够在用户点击这些叠加层时获取路线。
我想将此链接到对话框的中间按钮:
// Middle button
dialog.setNeutralButton("Directions",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?saddr=20.344,34.34&daddr=20.5666,45.345"));
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
}
});
我收到以下错误“方法startActivity(Intent)未定义类型new DialogInterface.OnClickListener(){}”
这里有几个答案,但我不能让它们中的任何一个起作用。我试过创建一个构造函数并调用getContext()。
我不确定是不是因为我的班级是:
public class ItemizedOverlayLayoutActivity extends ItemizedOverlay {
非常感谢任何帮助。
由于
答案 0 :(得分:2)
在类ItemizedOverlayLayoutActivity
的构造函数中添加一个参数Context:
private Context context;
public MyItemizedNewOverlay(Drawable defaultMarker, Context context) {
//...
this.context = context;
}
在您创建对话框之前添加:
final Context fcontext = context;
然后在对话框中间按钮中使用:
fcontext.startActivity(intent);
祝你好运