2011-12-03 45 views
0

這是我的第一個Android應用程序! ;-) 我有一個TabHost與4 TabSpecs。 「帳戶」用於連接(它應該始終有效),其他人應該只在登錄成功並且與該服務有連接(使用RESTful API)時才能工作。Android:(德)當應用程序成功連接時激活TapSpecs

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

我認爲這將是有幫助的TabAcivitiy處理程序來改變TabSpecs-狀態:

 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; 
      } 
     } 
    }; 

連接的靜態函數()測試到的RESTful API的連接。 但現在我不知道該如何繼續,因爲我不知道如何從Activity(例如AccountActivity)訪問這個處理程序。

任何好主意來解決這個問題?

回答

0

考慮爲TabHost設置OnTabChangedListener。此回調將允許您切換回您的登錄選項卡,如果他們尚未驗證。然後,他們登錄後,您可以允許他們更改制表符。