android:除非保存数据,否则阻止选项卡切换

时间:2011-08-07 17:31:19

标签: android android-tabhost

编辑:我想阻止用户切换标签,除非我收到保存数据的警报响应。我有一个onTabChangedlistener来检查切换标签时的数据更改。

mTabHost.setOnTabChangedListener(this);

@Override
    public void onTabChanged(String tabId) {
        // TODO Auto-generated method stub
        if (mTabHost.getCurrentTab()==1 && dataModified){ 
            AlertMessage(this, "Your data was NOT saved! Press Ok to continue, or Cancel to stay on the current screen. ");
        }

    }}

使用onPause也会产生相同的结果。在用户可以响应ok / cancel之前切换。

我的问题是,当警报显示标签已经切换时。我希望用户回复确定/取消,然后只执行所需(保留在选项卡或切换选项卡上)。

如何获取用户响应,然后才允许切换标签。

由于

1 个答案:

答案 0 :(得分:0)

您必须扩展TabHost类并覆盖setCurrentTab方法,然后您可以添加自己的onBeforeTabchanged()回调。