按下后退按钮时刷新TabActivity

时间:2011-12-11 23:32:24

标签: android maps tabactivity

我有以下代码,onCreate使用Google地图填充网页视图。在我第一次点击标签的情况下,我的手机会询问我是否要使用互联网或Google地图应用。这很好但是当我去地图并点击后退按钮时,如果我再次单击地图选项卡,则不再加载地图,而不是onResume。

在代码中使用onResume,我无法回头,我陷入无休止的循环,不断弹出对话框,询问我是否要使用互联网或谷歌地图!

有没有人知道解决这个问题的方法?我可以用某种方式标记它,另一种选择是不使用Tabs,但首选标签。

@Override
public void onCreate(Bundle icicle)
{
    super.onCreate(icicle);
    setContentView(R.layout.map_layout);

    Intent browseIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://maps.google.com.au/maps?q=Cape+Schanck,+Victoria&hl=en&sll=-25.335448,135.745076&sspn=62.858164,114.169922&vpsrc=0&hnear=Cape+Schanck+Victoria&t=h&z=13&source=gplus-ogsb"));
    startActivity(browseIntent);
}

@Override
public void onResume() {
    super.onResume();
    Intent browseIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://maps.google.com.au/maps?q=Cape+Schanck,+Victoria&hl=en&sll=-25.335448,135.745076&sspn=62.858164,114.169922&vpsrc=0&hnear=Cape+Schanck+Victoria&t=h&z=13&source=gplus-ogsb"));
    startActivity(browseIntent);
}

干杯,

麦克

1 个答案:

答案 0 :(得分:0)

通过在地图标签/活动中添加以下代码,我解决了我的问题。

@Override
public void onCreate(Bundle icicle)
{
    super.onCreate(icicle);
    setContentView(R.layout.map_layout);

    ImageView iv = (ImageView)findViewById(R.id.loadmap);
    iv.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            Intent browseIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://maps.google.com.au/maps?q=Cape+Schanck,+Victoria&hl=en&sll=-25.335448,135.745076&sspn=62.858164,114.169922&vpsrc=0&hnear=Cape+Schanck+Victoria&t=h&z=13&source=gplus-ogsb"));
            startActivity(browseIntent);    
        }
    });
}

这是一个额外的屏幕点击进入地图,但由于这个应用程序背后的整个想法是你可以在飞行模式下获得大部分信息,该按钮还警告用户他们将不得不上网到查看地图。

这是一个解决方案,但是编程。

如果有人有更好的方法,请告诉我。

干杯,

麦克