我正试图让谷歌地图在我的应用程序工作的那一刻,我聋了谷歌地图通过android工作室它出来在红色ActivityMapsBinding然后它不工作,我应该?我已经写了上瘾之类的东西但是不管用
public class TrovamicoActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private ActivityMapsBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMapsBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
// 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);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
你可以做几件事来解决这个错误,
首先
确保在build.gradle(module:)中添加了buildFeatures,如果没有,那么像这样添加,
buildFeatures {
viewBinding true
dataBinding true
}
然后同步。然后重建你的项目,等一会儿。
第二
无效缓存&重新启动,然后重建您的项目,并等待一段时间。
3
这可能看起来有点奇怪,但如果你在你的活动文件中做了任何更改,撤销这些更改,回到你的代码文件,错误将消失,然后回到xml和重做更改。错误将不会再次显示。(是的,我知道Android Studio的工作方式很神秘。XD)
第四>确保活动的xml文件命名为activity_maps。如果它被命名为maps_activity,那么绑定文件将是MapsActivityBinding。
当我在代码中遇到这样的问题时,这些就是我自己的解决方案。
如果它们都不工作,那么就重新创建整个项目。
<layout>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".TrovamicoActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
TrovamicoActivity.java
private FragmentsTrovamicoBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = FragmentsTrovamicoBinding .inflate(getLayoutInflater());
setContentView(binding.getRoot());
}