-2

J'ai cette activité de carte et je veux y faire une barre de navigation/tiroir. il y a une erreur dans MapsActivity dit "ne peut pas résoudre la méthode setSupportActionBar (android.support.v7.widget.Toolbar)"Création d'une barre de navigation sur une activité de carte Android

MapsActivity.java

public class MapsActivity extends FragmentActivity implements 
OnMapReadyCallback { 

String [] places= {"bais city","basay","bindoy"}; 
AutoCompleteTextView textview; 

private GoogleMap mMap; 
private LatLng latLng; 
private Marker marker; 

private Toolbar category; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_maps); 
    // Obtain the SupportMapFragment and get notified when the map is ready 
     to be used. 
    SupportMapFragment mapFragment = (SupportMapFragment) 
     getSupportFragmentManager() 
      .findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 

    category = (Toolbar) findViewById(R.id.Navbar); 
    setSupportActionBar(category); //i got my error here says cannot resolve 
    method 

} 

Importations

import android.content.DialogInterface; 
import android.location.Address; 
import android.location.Geocoder; 
import android.preference.DialogPreference; 
import android.support.v4.app.FragmentActivity; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.support.v7.app.AlertDialog; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.AutoCompleteTextView; 
import android.widget.EditText; 
import android.widget.TextView; 

import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.OnMapReadyCallback; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.LatLngBounds; 
import com.google.android.gms.maps.model.Marker; 
import com.google.android.gms.maps.model.MarkerOptions; 

import java.io.IOException; 
import java.util.List; 
import java.util.Locale; 

carte mise en page d'activité (xml)

<!--suppress ALL --> 
<LinearLayout xmlns:map="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical"> 
<TextView 
    android:text="@string/test" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/PSString" 
    android:textSize="22sp"/> 


<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <include layout="@layout/navigation" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 


    <AutoCompleteTextView 
     android:layout_width="278dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/autoCompleteTextView" 
     tools:ignore="LabelFor" /> 

    <Button 
     android:text="@string/search" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/BTNSearch" 
     android:layout_gravity="end" 
     android:onClick="onSearch" /> 

    <fragment 
     android:id="@+id/map" 
     android:name="com.google.android.gms.maps.SupportMapFragment" 
     android:layout_width="384dp" 
     android:layout_height="554dp" 
     tools:context="com.example.boneyflesh.homepage.MapsActivity" 
     tools:layout="@layout/activity_main" /> 
    </LinearLayout> 



</LinearLayout> 

Mise en page Navbar (xml)

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar  
xmlns:android="http://schemas.android.com/apk/res/android" 

android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/Navbar"> 

</android.support.v7.widget.Toolbar> 

MainActivity

public class MainActivity extends AppCompatActivity { 

public void whatodo(View view){ 
    if(view.getId() == R.id.BTNStart){ 
     AlertDialog.Builder prompt = new 
     AlertDialog.Builder(MainActivity.this); 
     prompt.setCancelable(false) 
       .setPositiveButton("Documents", new 
        DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, int 
          which) { 

          } 
         } 
       ) 
        .setNegativeButton("2D MAP", new 
        DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int 
         which) { 
          startActivity(new 
         Intent(getApplicationContext(),MapsActivity.class)); 
         } 
        } 
        ); 


     AlertDialog alert = prompt.create(); 
     alert.setTitle("Please select an option"); 
     alert.show(); 

    } 
    if(view.getId() == R.id.BTNInfo){ 

    } 
    if(view.getId() == R.id.BTNClose){ 
     finish(); 
     System.exit(0); 
    } 
} 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

} 

}

Répondre

0

Il ne peut pas résoudre la méthode setSupportActionBar() parce que cette méthode ne soit pas mis en œuvre FragmentActivity. Idéalement, vous devriez hériter de votre activité de AppCompatActivity, ce qui vous permettra de travailler avec la barre d'outils, ainsi qu'avec des fragments.

+0

ive édité mon message ,, im vraiment nouveau à ce genre de choses, comment puis-je faire avec ma configuration sur MainActivity? ive définir ma boîte de dialogue d'alerte pour ouvrir l'activité de cartes. – Boneyflesh

+0

... au lieu de 'extends FragmentActivity', il devrait être' extends AppCompatActivity'. –

+0

merci ,, les erreurs sont allées mais je suis toujours en train de lutter sur la façon de dessiner la barre de navigation, soit bricoler un peu. :pouces vers le haut: – Boneyflesh