Toast 导航抽屉中的当前位置 Activity 操作栏
Toast current location in Navigation Drawer Activity action bar
所以我有一个 Navigation Drawer Activity (a non activity class)
。有一个按钮(在操作栏上)应该 Toast
当前位置在 Latitude
和 Longitude
但我无法让 getsystemservice()
在 [=17] 中工作=].
下面是代码。
public class NavigationDrawerFragment extends Fragment {
public boolean onOptionsItemSelected(MenuItem item) {
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
if (item.getItemId() == R.id.current_location) {
//TODO FInd a way to receive location info
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false));
if (location != null){
}
String Text = "Current Location: \n" +
"Latitude: " + location.getLatitude() + "\n" +
"Longitude: " + location.getLongitude();
Toast.makeText(getActivity(), Text, Toast.LENGTH_SHORT).show();
return true;
}
return super.onOptionsItemSelected(item);
}
}
所以在 getSystemService(Context.LOCATION_SERVICE);
它一直告诉我该方法没有解决,而它在 Main.java activity.
中完全没问题
我怎样才能得到在抽屉里工作的纬度和经度activity?
有没有更简单的编码方法?
谢谢。
使用getActivity().
LocationManager locationManager = (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
当您在 android 中使用片段时,您应该使用方法 getActivity()
来获取上下文(所有片段都依赖于 activity),因此如评论中所述以上,你必须使用方法 getActivity()
.
所以我有一个 Navigation Drawer Activity (a non activity class)
。有一个按钮(在操作栏上)应该 Toast
当前位置在 Latitude
和 Longitude
但我无法让 getsystemservice()
在 [=17] 中工作=].
下面是代码。
public class NavigationDrawerFragment extends Fragment {
public boolean onOptionsItemSelected(MenuItem item) {
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
if (item.getItemId() == R.id.current_location) {
//TODO FInd a way to receive location info
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false));
if (location != null){
}
String Text = "Current Location: \n" +
"Latitude: " + location.getLatitude() + "\n" +
"Longitude: " + location.getLongitude();
Toast.makeText(getActivity(), Text, Toast.LENGTH_SHORT).show();
return true;
}
return super.onOptionsItemSelected(item);
}
}
所以在 getSystemService(Context.LOCATION_SERVICE);
它一直告诉我该方法没有解决,而它在 Main.java activity.
我怎样才能得到在抽屉里工作的纬度和经度activity? 有没有更简单的编码方法?
谢谢。
使用getActivity().
LocationManager locationManager = (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
当您在 android 中使用片段时,您应该使用方法 getActivity()
来获取上下文(所有片段都依赖于 activity),因此如评论中所述以上,你必须使用方法 getActivity()
.