Android startActivity不会调用目标活动

时间:2015-03-19 14:43:48

标签: android android-activity

我在使用startActivity从活动更改为另一个活动时遇到问题。 当我点击一个按钮时,它应该调用另一个活动,它会这样做,但它不是我想要的活动

我的代码:

这是按钮的单击操作,在执行startActivity后,它会打开一个白色屏幕。

public void initiateRoute(View view) {
    // I have a breakpoint on the line below and it comes here
    Intent i= new Intent(this,GMapsActivity.class); 
    startActivity(i);
}

这是我的目标活动xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="fill_parent">
    <fragment
        android:id="@+id/map"
        android:layout_above="@+id/footer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment"
        tools:layout="@layout/abc_action_bar_title_item" />
    <LinearLayout
        android:id="@+id/footer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Pausar Rota"
            android:layout_weight="0.5"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Parar captura de Rota"/>
    </LinearLayout>
</RelativeLayout>

这是我的Activity类:

    public class GMapsActivity extends Activity {

        private GoogleMap mMap;

        @Override
        public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
            // I have another breakpoint on the line below and it never comes here
            super.onCreate(savedInstanceState, persistentState); 
            setContentView(R.layout.map_activity);
            createMap();
        }

        private void createMap() {
            mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
            mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
            final LatLng CIU = new LatLng(35.21843892856462, 33.41662287712097);
            Marker ciu = mMap.addMarker(new MarkerOptions()
                    .position(CIU).title("My Office"));
        }
    }

我在stackoverflow中进行了很多搜索,在google中,我没有找到任何可以帮助我的内容。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您正在将片段视为活动。您需要定义片段并执行COMMIT以查看结果,如下所示:

 mMapFragment = MapFragment.newInstance();
 FragmentTransaction fragmentTransaction =
         getFragmentManager().beginTransaction();
 fragmentTransaction.add(R.id.my_container, mMapFragment);
 fragmentTransaction.commit();

本指南将帮助您:https://developers.google.com/maps/documentation/android/map