这是我的第一个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)访问此处理程序。
解决问题的任何好主意?
答案 0 :(得分:0)
考虑为TabHost设置OnTabChangedListener。如果尚未进行身份验证,此回调将允许您切换回登录选项卡。然后,在他们登录后,您可以允许他们更改标签。