找到哪个片段有焦点?

Find which fragment has focus?

我有一个应用程序在横向模式下并排显示两个片段。两者始终对用户可见,并动态加载到框架布局中。

现在将方向更改为纵向,我想在单个框架布局中显示单个片段。我需要了解用户在方向更改期间正在处理哪个片段。我无法理解用户在哪里工作。这两个片段都有多个 EditText 视图。

我读过

getWindow().getCurrentFocus();

在一个回答中,但这应该return我一个观点。现在,如果视图深深地嵌套在片段布局中,是否有更好更快的方法来找到在方向更改期间哪个片段处于焦点?
我正在使用 land/layout.xml 和 layout.xml 进行不同方向的布局。土地一有2个框架布局,纵向只有一个。

我的第一个想法:

我会跟踪哪个 EditText 具有焦点。

1) 为每个代表面板的EditText设置一个标签(setTag()),有的是panel1,有的是panel2.

2) 在每个 EditText 上设置此侦听器:

boolean firstPanelVisible = true;

editText.setOnFocusChangeListener(new OnFocusChangeListener() {
    @Override public void onFocusChange(View v, boolean hasFocus) {
        if(hasFocus){
            if(v.getTag().equals("panel1")) {
               firstPanelVisible = true;
            } else {
               firstPanelVisible = false; // the second panel is visible.
            }
        }
    }
   }
});

// TODO When changing orientation check which panel is focused.