2015-12-22 66 views
1

如何調試我現在遇到的錯誤。,我正在創建一個應用程序,它可以找到谷歌地圖的當前位置,然後我有一些教程如何去做,但錯誤出現了。檢索項目的父項時出錯:沒有找到資源

*Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'. 

<style name="Base.TextAppearance.AppCompat.Widget.Button.Inverse" 
    parent="android:TextAppearance.Material.Widget.Button.Inverse"/> 

*Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.` 

<style name="Base.Widget.AppCompat.Button.Colored" 
    parent="android:Widget.Material.Button.Colored"/> 

他們是屬於在 *C:\Users\rifrancisco\Desktop\androidprojects\MapsII\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.1.1\res\values-v23\values-v23.xml

我使用過Android Studio 1.3的SDK平臺達到5.x(MNC)和所有的SDK工具被安裝

哪能解決這個?我也嘗試將版本更改爲V23的項目結構,但仍然是相同的。這裏是我的代碼

MyActivity

import android.content.Context; 
import android.location.Criteria; 
import android.location.Location; 
import android.location.LocationManager; 
import android.support.v4.app.FragmentActivity; 
import android.os.Bundle; 

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

public class MapsActivity extends FragmentActivity { 

    private GoogleMap mMap; // Might be null if Google Play services APK is  not available. 

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

    @Override 
    protected void onResume() { 
     super.onResume(); 
     setUpMapIfNeeded(); 
    } 

    /** 
    * Sets up the map if it is possible to do so (i.e., the Google Play   services APK is correctly 
    * installed) and the map has not already been instantiated.. This will ensure that we only ever 
    * call {@link #setUpMap()} once when {@link #mMap} is not null. 
    * <p/> 
    * If it isn't installed {@link SupportMapFragment} (and 
    * {@link com.google.android.gms.maps.MapView MapView}) will show a prompt for the user to 
    * install/update the Google Play services APK on their device. 
    * <p/> 
v* A user can return to this FragmentActivity after following the prompt and correctly 
    * installing/updating/enabling the Google Play services. Since the FragmentActivity may not 
    * have been completely destroyed during this process (it is likely that it would only be 
    * stopped or paused), {@link #onCreate(Bundle)} may not be called again so we should call this 
    * method in {@link #onResume()} to guarantee that it will be called. 
    */ 
    private void setUpMapIfNeeded() { 
     // Do a null check to confirm that we have not already instantiated the map. 
     if (mMap == null) { 
      // Try to obtain the map from the SupportMapFragment. 
      mMap = ((SupportMapFragment)  getSupportFragmentManager().findFragmentById(R.id.map)) 
        .getMap(); 
      // Check if we were successful in obtaining the map. 
      if (mMap != null) { 
       setUpMap(); 
      } 
     } 
    } 

    /** 
    * This is where we can add markers or lines, add listeners or move the camera. In this case, we 
    * just add a marker near Africa. 
    * <p/> 
    * This should only be called once and when we are sure that {@link #mMap} is not null. 
    */ 
    private void setUpMap() { 
     mMap.addMarker(new MarkerOptions().position(new LatLng(0,  0)).title("Marker").snippet("Snippet")); 

     // Enable MyLocation Layer of Google Map 
     mMap.setMyLocationEnabled(true); 

     // Get LocationManager object from System Service LOCATION_SERVICE 
     LocationManager locationManager; 
     locationManager = (LocationManager)  getSystemService(Context.LOCATION_SERVICE); 

     // Create a criteria object to retrieve provider 
     Criteria criteria = new Criteria(); 

     // Get the name of the best provider 
     String provider = locationManager.getBestProvider(criteria, true); 

     // Get Current Location 
     Location myLocation = locationManager.getLastKnownLocation(provider); 

     // set map type 
     mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); 

     // Get latitude of the current location 
     double latitude = myLocation.getLatitude(); 

     // Get longitude of the current location 
     double longitude = myLocation.getLongitude(); 

     // Create a LatLng object for the current location 
     LatLng latLng = new LatLng(latitude, longitude); 

     // Show the current location in Google Map 
     mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); 

     // Zoom in the Google Map 
     mMap.animateCamera(CameraUpdateFactory.zoomTo(14)); 
     mMap.addMarker(new MarkerOptions().position(new LatLng(latitude,  longitude)).title("You are here!").snippet("Consider yourself located")); 
    } 

,這裏是在價值觀v23.xml代碼

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <!-- From: file:/usr/local/google/buildbot/src/googleplex-android/mnc-  supportlib-release/frameworks/support/v7/appcompat/res/values-  v23/styles_base_text.xml --> 
    <eat-comment/> 
    <style name="Base.TextAppearance.AppCompat.Widget.Button.Inverse"  parent="android:TextAppearance.Material.Widget.Button.Inverse"/> 
    <!-- From: file:/usr/local/google/buildbot/src/googleplex-android/mnc- supportlib-release/frameworks/support/v7/appcompat/res/values- v23/themes_base.xml --> 
    <eat-comment/> 
    <style name="Base.Theme.AppCompat" parent="Base.V23.Theme.AppCompat"/> 
    <style name="Base.Theme.AppCompat.Light"  parent="Base.V23.Theme.AppCompat.Light"/> 
    <style name="Base.V23.Theme.AppCompat" parent="Base.V22.Theme.AppCompat"> 
     <!-- We can use the platform drawable on v23+ --> 
     <item name="actionBarItemBackground">? android:attr/actionBarItemBackground</item> 
     <!-- We can use the platform styles on v23+ --> 
     <item name="actionMenuTextColor">?android:attr/actionMenuTextColor</item> 
     <item name="actionMenuTextAppearance">? android:attr/actionMenuTextAppearance</item> 

     <item  name="controlBackground">@drawable/abc_control_background_material</item> 
    </style> 
    <style name="Base.V23.Theme.AppCompat.Light"  parent="Base.V22.Theme.AppCompat.Light"> 
     <!-- We can use the platform drawable on v23+ --> 
     <item name="actionBarItemBackground">?android:attr/actionBarItemBackground</item> 
     <!-- We can use the platform styles on v23+ --> 
     <item name="actionMenuTextColor">?android:attr/actionMenuTextColor</item> 
     <item name="actionMenuTextAppearance">?android:attr/actionMenuTextAppearance</item> 

     <item name="controlBackground">@drawable/abc_control_background_material</item> 
    </style> 
    <!-- From: file:/usr/local/google/buildbot/src/googleplex-android/mnc- supportlib-release/frameworks/support/v7/appcompat/res/values- v23/styles_base.xml --> 
    <eat-comment/> 
    <style name="Base.Widget.AppCompat.Button.Colored"  parent="android:Widget.Material.Button.Colored"/> 
</resources> 

回答

4

檢查您的build.gradle文件。很可能你的targetSdkVersion低於23。根據您的關卡API進行更改。

android { 

    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
... 
} 
+0

我在哪裏可以看到bulid.graddle文件? – rabal

+0

/app/build.gradle –

+0

它現在正在工作..謝謝你先生Llya ..上帝保佑:) – rabal

相關問題