0
我有3個片段:A, B, C
和ActionItem
調用Filters
。這些Filters
只有在分別可見片段A
時纔可見。ActionItem出現在方向更改
所以我躲Filters
時B
或C
被取代了A
和它們恢復回來時A
被替換回來。
工作正常,除非我改變屏幕的方向。之後變成可見的Filters
。
有什麼我想:
其中代表片段導航覆蓋活動我檢查可見Fragment
,如果它B
或C
我hideActionFilters()
:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
....//other logic
//check if backStack empty
if (getSupportFragmentManager().getBackStackEntryCount() != 0) {
//check top fragment by position and name in backstack
//LessonsFragment - B; SingleLessonFragment - C
if (getTopFragment().getClass().getName().equals(LessonsFragment.class.getName()) ||
getTopFragment().getClass().getName().equals(SingleLessonFragment.class.getName())) {
hideActionFilterItem();
}
}
這不工作。 方法hideActionItem()
:
private void hideActionFilterItem() {
View menuItemView = findViewById(R.id.action_filters);
if (menuItemView != null) {
menuItemView.setVisibility(View.GONE);
}
}
試過調試,運行hideActionItem()
但ActionItem
仍然可見。
我也試圖隱藏在onPause()
;在片段B
和C
的onConfogChanged()
中。
可能有人有這樣的問題。請幫忙。
P.S.請告訴我是否需要更多代碼。謝謝