在TabActivity的单个选项卡中重新启动活动?

use*_*701 5 android android-tabactivity

我有一个TabActivity.每个选项卡都指向子活动.这非常有效.

是否有任何聪明的方法来刷新其中一个活动标签?我只想"重新启动"标签#3中的活动.除了构建对活动本身的刷新支持,或者清除所有选项卡并重新创建所有选项卡之外,还不确定这样做的好方法.

谢谢,

jui*_*dM3 6

稍微更动态的解决方案:

LocalActivityManager manager = getLocalActivityManager();
String currentTag = tabHost.getCurrentTabTag();
Class<? extends Activity> currentClass = manager.getCurrentActivity().getClass();
manager.destroyActivity(currentTag, true);
manager.startActivity(currentTag, new Intent(this, currentClass));
Run Code Online (Sandbox Code Playgroud)


Dan*_*Lew 4

我自己没有尝试过这一点,但通常您可以Activity使用LocalActivityManager. TabActivity这可以通过使用在 a 中检索getLocalActivityManager()

看起来您应该能够使用destroyActivity()startActivity()重新启动活动,尽管我不确定这是否有效(因为我自己没有这样做过)。需要注意的一件重要事情是,id活动的 将会相当于您为选项卡设置的标签(例如,您提供给 的字符串TabHost.newTabSpec(String))。

LocalActivityManager manager = getLocalActivityManager();
manager.destroyActivity("tab3", true);
manager.startActivity("tab3", new Intent(this, ThirdTab.class));
Run Code Online (Sandbox Code Playgroud)