我正在尝试创建一个DrawerLayout,该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);
有什么想法吗?
答案 0 :(得分:0)
从您的帖子中尚不清楚DrawerLayout
所处的布局。您说如果不给抽屉充气,您仍然可以点击菜单项,这是不可能的-视图需要按顺序进行充气以便显示。
我假设DrawerLayout
在您的活动/片段布局中,因为您正在使用findViewById
来获取对它的引用,这意味着一旦您调用setContentView
(或Fragment
中的等效项。
player2
布局是什么样的?展开并添加到DrawerLayout
后,它会显示在其他视图的顶部。它是否占用了抽屉项目的空间,因此单击事件不会传播到这些项目?
帖子中的更多代码将有助于发现问题。