我有一个实现GooglePlayServicesClient.ConnectionCallbacks的Activity。按下启动器图标后,会立即计算该位置,因为根据我在onCreate之前运行的onConnected日志。以下是可能的吗?
在最初安装我的应用并打开它之后,计算位置。进一步的计算需要用户按下刷新按钮。
我这样做是因为我使用该位置立即打开一个DialogFragment,其中包含与该位置相关的数据。在对话框中选择某些内容后,用户会在“对话框所属的活动”中看到结果。
因此,如果用户停留在同一地区,我不希望他每次打开应用程序时都会弹出一个对话框,它应该只显示之前填充的活动。
@Override
public void onConnected(Bundle dataBundle) {
Log.d("MY_DEBUG", "In SelectActivity's onConnected. Successfully connected to loc services");
mCurrentLocation = mLocationClient.getLastLocation();
// Display the connection status
Toast.makeText(this, "Connected", Toast.LENGTH_SHORT).show();
showListingDialog();
}
答案 0 :(得分:0)
你可以在你的类上添加一个布尔标志,如下所示:
private boolean didShowListingDialog = false;
...你在showListingDialog中检查并设置为true,如下所示:
private void showListingDialog() {
if (!didshowListingDialog) {
didshowListingDialog = true;
// show the dialog here
}
}
如果您希望再次显示该对话框,可以将该标志设置为false。