【问题标题】:How to inflate correctly to respect view hierarchy?如何正确膨胀以尊重视图层次结构?
【发布时间】:2019-03-17 21:12:43
【问题描述】:

我试图让 DrawerLayout 被另一个布局膨胀,其功能是在屏幕底部表示一个迷你媒体播放器。7

主布局是抽屉布局。 我要添加的布局(我膨胀主布局的那个)是相对布局。

当我打开抽屉并尝试选择其中提到的一些方法时,一旦我膨胀 DrawerLayout(主布局),它们就不会被触发。

如果我没有给抽屉充气并且我点击了抽屉中的一些菜单项,则方法会正确触发。

我猜这是我充气的方式,我尝试在打开抽屉后在充气视图上使用 VIEW.GONE,但方法仍然是虚拟的。

我如何调用方法:

 switch (menuItem.getItemId()) {

                        case R.id.nav_home: {
                            if (checkInternetConnection(getApplicationContext())) {
                                Log.i(LOG_TAG, "PROVJERA NETA  POVEZAN");
                                start_loader();
                            } else {
                                mEmptyStateTextView.setText("Cannot connect to network, please check your network status and try again.");
                                // Clear the adapter of previous earthquake data

                            }

                            break;
                        }
                        case R.id.nav_history: {
                            //pozoviHistory(null);
                            break;
                        }
                        case R.id.nav_favourite: {
                            Log.i(LOG_TAG, "ZOVI HFAV");
                            pozoviFavorites();
                            break;
                        }

                    }

这就是我膨胀布局的方式:

DrawerLayout myLayout = (DrawerLayout) findViewById(R.id.cili_test);
                View itemInfo1 = getLayoutInflater().inflate(R.layout.player2, myLayout, true);

有什么想法吗?

【问题讨论】:

    标签: java android navigation-drawer android-inflate


    【解决方案1】:

    从您的帖子中不清楚您的 DrawerLayout 所在的布局。您说如果您不给抽屉充气,您仍然可以点击它的菜单项,这是不可能的 - 视图需要充气才能实现显示出来。

    我假设DrawerLayout 在您的活动/片段布局中,因为您使用findViewById 来获取对它的引用,这意味着一旦您调用setContentView(或@987654325 中的等效项),它就已经膨胀了@)。


    player2 布局是什么样的?当它膨胀并添加到DrawerLayout 时,它会显示在其他视图的顶部。它是否占用了您的抽屉项目的空间,因此点击事件不会传播到项目?

    您帖子中的更多代码将有助于找到问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-03
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多