我有2项活动。在一项活动中,我有一个按钮。在该按钮的单击事件中,我想在新活动中打开一个地图。但我不知道为什么我单击按钮时出错。它说:
应用程序意外停止,请再试一次。
这是我的按钮点击事件:
Button btnDrive=(Button)findViewById(R.id.btnDrive);
btnDrive.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent myIntent=new Intent(v.getContext(),WebiMapActivity.class);
startActivityForResult(myIntent,0);
}
});
这是我的地图活动:
public class WebiMapActivity extends MapActivity{
private MapView mapView;
private MapController mapController;
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapview);
mapView = (MapView)findViewById(R.id.map_view);
mapView.setStreetView(true);
mapView.displayZoomControls(true);
mapController=mapView.getController();
}
}
N.B:我在manifest.xml中拥有互联网权限。
答案 0 :(得分:0)
另外,请确保manifest.xml文件的application元素中包含以下行:
<uses-library android:name="com.google.android.maps"/>
但正如其他堆栈器所说,发布显示异常的logcat文件。
答案 1 :(得分:0)
确保您在XML文件中提到过您的地图API密钥。我认为这是你获得瓷砖而不是地图的原因。
答案 2 :(得分:0)
public class your_class extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
...
//setup button listener
Button button = (Button)findViewById(R.id.button);
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startYourActivity();
}
});
}
private void startYourActivity() {
Intent yourIntent = new Intent(this, secondActivity.class);
startActivity(yourIntent);
}
希望这会对你有所帮助:)。