У меня возникли некоторые трудности при работе TabActivity. Вот реализация класса:
public class Profile extends TabActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final TabHost tabHost = getTabHost();
if (tabHost.isEnabled()) {
Log.e("profile", "enabled");
}
tabHost.addTab(tabHost.newTabSpec(getString(R.string.friendReqs))
.setIndicator("requests")
.setContent(new Intent(this, FriendRequests.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));
tabHost.addTab(tabHost.newTabSpec(getString(R.string.friends))
.setIndicator("photo list")
.setContent(new Intent(this, Settings.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));
Log.e("profile", "add tabs");
tabHost.invalidate();
}
}
Проблема в том, что я вызываю этот класс из своей основной деятельности (которая является MapActivity, если это имеет значение), и когда я это делаю, TabActivity не отображается. Он регистрирует щелчок в меню параметров и даже запускает намерение, но экран не меняется ... он просто остается на основном действии, и я вижу в журналах, что основное действие возобновляется. Я называю это так:
Intent p = new Intent(this,Profile.class);
p.putExtra(DBAdapter.KEY_USERID,userid);
startActivity(p);
Как я уже сказал ... ошибок нет (конечно, существуют классы, вызываемые из вкладок), просто нет действий. Я поместил некоторые команды журнала в функцию onCreate в табакативности (как вы видите), и все они записаны в журнал ... Я понятия не имею, что я делаю здесь неправильно. Любая помощь?