我有一个主要活动,用于保存标签,每个标签都会启动一项新活动。我可以知道如何更改新活动的标题标题?感谢。
答案 0 :(得分:0)
尽管CommonsWare已经指出将“活动”作为选项卡内容不推荐使用,但如果您仍想这样做,那么一种可能性是使用嵌套的BroadcastReceiver
并让内容活动发送广播意图。我不确定它是否会起作用,但我会尝试以下内容...
public class MainActivity extends Activity {
bool tabMonitorIsRegistered = false;
TabMonitor tabMonitor = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Other code
tabMonitor = new TabMonitor();
}
@Override
protected void onResume() {
super.onResume();
if (!tabMonitorIsRegistered) {
registerReceiver(tabMonitor, new IntentFilter(Intent.com.mydomain.myapp.ACTION_TAB_CHANGE));
tabMonitorIsRegistered = true;
}
}
@Override
protected void onPause() {
super.onPause();
if (tabMonitorIsRegistered) {
unregisterReceiver(tabMonitor);
tabMonitorIsRegistered = false;
}
}
// Nested BroadcastReceiver
private class TabMonitor extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
// Process the Intent here to change the tab title
}
}
}
此时我发现每个'内容'活动都需要告诉MainActivity(通过它发送的Intent)'who'是什么。要做到这一点,我会在添加标签内容时使用Intent extra将每个标识为“tab1”,tab2'等等。当'content'活动开始时,例如在onCreate()中,他们可以存储该字符串并使用它在Intent中,他们将广播作为广播发送给MainActivity。