Это мое первое приложение с Android! ;-)
У меня есть TabHost с 4 TabSpecs. «Учетная запись» предназначена для подключения (она должна работать всегда), остальные должны работать только в том случае, если вход выполнен успешно и имеется подключение к службе (которая использует RESTful API).
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;
}
}
};
Статическая функция connected () проверяет соединение с RESTful API.
Но теперь я не знаю, как мне поступить, потому что я не знаю, как получить доступ к этому обработчику из Activity (например, AccountActivity).
Есть хорошие идеи для решения проблемы?