Android :( De)在应用程序成功连接时激活TapSpecs

时间:2011-12-03 00:52:29

标签: java android android-tabhost tabactivity

这是我的第一个Android应用程序! ;-) 我有一个带有4个TabSpec的TabHost。 “帐户”用于连接(它应该始终有效)其他应该仅在登录成功并且与服务有连接(使用RESTful API)时才有效。

http://i.stack.imgur.com/zp5DT.png

我认为在TabAcivitiy中使用Handler更改TabSpecs-Status会很有帮助:

      Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            switch(msg.what){
            case NOTIFY_DATASET_CHANGED:
                if(ServiceFactory.connected()){
                    tabHost.getTabWidget().getChildTabViewAt(1).setEnabled(true);
                    tabHost.getTabWidget().getChildTabViewAt(2).setEnabled(true);
                    tabHost.getTabWidget().getChildTabViewAt(3).setEnabled(true);
                }else{
                    tabHost.getTabWidget().getChildTabViewAt(1).setEnabled(false);
                    tabHost.getTabWidget().getChildTabViewAt(2).setEnabled(false);
                    tabHost.getTabWidget().getChildTabViewAt(3).setEnabled(false);
                }   
                break;
            default:
                break;
            }
        }
    };

static function()测试与RESTful API的连接。 但现在我不知道应该如何继续,因为我不知道如何从Activity(例如AccountActivity)访问此处理程序。

解决问题的任何好主意?

1 个答案:

答案 0 :(得分:0)

考虑为TabHost设置OnTabChangedListener。如果尚未进行身份验证,此回调将允许您切换回登录选项卡。然后,在他们登录后,您可以允许他们更改标签。