2017-07-10 10 views
0

MapView内でボタンの表示に問題があります。MapView内のボタンが表示されない

レイアウト:私はNullPointerExceptionが得た(のMapViewを初期化した後) 以下のように

<com.google.android.gms.maps.MapView 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="UPDATE DATA" 
     android:layout_gravity="center_horizontal" 
     android:id="@+id/updateMarkers"/> 

</com.google.android.gms.maps.MapView> 

私はボタン(updateDataButton)を初期化 - ボタンはnullです。

@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState){ 
    View view = inflater.inflate(R.layout.graph_fragment, container, false); 

    try { 
     MapsInitializer.initialize(getActivity().getApplicationContext()); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    mapView = (MapView) view.findViewById(R.id.map); 
    mapView.onCreate(savedInstanceState); 
    mapView.onResume(); 

    updateDataButton = (Button) view.findViewById(R.id.updateMarkers); 
    updateDataButton.setVisibility(View.VISIBLE); 

    googleApiClient = new GoogleApiClient.Builder(getContext()) 
      .enableAutoManage(getActivity(), this) 
      .addConnectionCallbacks(this) 
      .addApi(LocationServices.API) 
      .addApi(Places.GEO_DATA_API) 
      .addApi(Places.PLACE_DETECTION_API) 
      .build(); 

    googleApiClient.connect(); 

    return view; 
} 

が、私はのMapViewの何もかもを初期化する前にボタンを初期化OKのようですが、ボタンが表示されません。 私のケースにボタンを正しく表示する方法はありますか?

答えて

0

あなたがこの方法を試してみる:RelativeLayoutを使用

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.ad3luc.maps.AMain" 
    tools:showIn="@layout/activity_main"> 

    <com.google.android.gms.maps.MapView 
     android:id="@+id/map_view" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 

    <Button 
     android:id="@+id/btn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentStart="true" 
     android:text="Button"/> 
</RelativeLayout> 

とレイアウトの内側には、のMapViewボタンウィジェットを置きます。 マップを使用するためのAPIキーはありませんが、ボタンMapViewウィジェットに問題なく表示されます。

+0

ありがとうございます!それは私が望む方法を正確に働いています:) – AKZB

関連する問題