【发布时间】:2020-08-04 07:15:00
【问题描述】:
我有一个地图活动。它有一个导航抽屉。但是当我点击任何导航项目时,我无法进入另一个活动。我在这里附上我的代码。没有错误。当我单击导航抽屉的任何项目时,它不会移动到另一个活动。
nv = (NavigationView) findViewById(R.id.nv);
nv.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.profile:
Intent i = new Intent(HomeActivity.this, ProfileActivity.class);
startActivity(i);
break;
case R.id.dona:
Intent j = new Intent(HomeActivity.this, DonateActivity.class);
startActivity(j);
break;
case R.id.pla:
Intent k = new Intent(HomeActivity.this, PlantActivity.class);
startActivity(k);
break;
case R.id.not:
Intent l = new Intent(HomeActivity.this, NotificationActivity.class);
startActivity(l);
break;
case R.id.hist:
Intent m = new Intent(HomeActivity.this, HistoryActivity.class);
startActivity(m);
break;
case R.id.hel:
Intent n = new Intent(HomeActivity.this, HelpActivity.class);
startActivity(n);
break;
}
return false;
}
});
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
buildGoogleApiClient();
mMap.setMyLocationEnabled(true);
}
} else {
buildGoogleApiClient();
mMap.setMyLocationEnabled(true);
}
}
protected synchronized void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API).build();
mGoogleApiClient.connect();
}
@Override
public void onConnected(Bundle bundle) {
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(1000);
mLocationRequest.setFastestInterval(1000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
}
}
@Override
public void onConnectionSuspended(int i) {
}
@Override
public void onLocationChanged(Location location) {
mLastLocation = location;
if (mCurrLocationMarker != null) {
mCurrLocationMarker.remove();
}
//Place current location marker
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title("Current Position");
markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
mCurrLocationMarker = mMap.addMarker(markerOptions);
//move map camera
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
mMap.animateCamera(CameraUpdateFactory.zoomTo(11));
//stop location updates
if (mGoogleApiClient != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
}
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (t.onOptionsItemSelected(item))
return true;
int id = item.getItemId();
if (id == R.string.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
【问题讨论】:
-
你能告诉我你得到了什么错误
-
你确定是 HomeActivity 吗?改用 getActivity
-
没有错误。当我单击导航抽屉上的任何项目时,我必须移动到另一个活动。我已经添加了一个开关盒和一个意图。但是当我点击时没有任何反应
-
@Arahasya HomeActivity 是我当前的活动
-
@AseelAli 您的代码看起来不错..您必须调试您的代码,并检查所有活动是否已注册到清单文件。还要检查您当前的活动,即确保它是 HomeActivity
标签: android