【发布时间】:2015-07-30 05:49:56
【问题描述】:
我的应用中有一个导航抽屉,其中包含标题和一些列表项。标题有一个文本视图,我想使其可点击,但我无法做到。
为了获取这个 textview 的 id,我使用了以下代码,因为与 onCreate 中的 setContentView 中的布局文件相比,它位于不同的布局文件中。
final LayoutInflater factory = getLayoutInflater();
final View textEntryView = factory.inflate(R.layout.header, null);
TextView home = (TextView) textEntryView.findViewById(R.id.home);
home.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(curr_context, "SHOW", Toast.LENGTH_LONG).show();
}
});
header.xml 包含导航抽屉的标题。它有一个名为 home 的项目。我需要让它可点击。以上代码在onCreate方法中。
【问题讨论】:
-
您不会将标题放在 NavigationView 中,是吗? NavigtionView 在内部将标题放置在嵌套 ListView 视图中的插槽 0 中,然后拦截并丢弃标题的 OnItemClicked 事件。这可能是问题的根源吗?不太确定起作用的机制,但如果标题位于重要信息的 NavigationView 中。
-
仔细看,我发现我确实按照你说的做了。有没有办法让它在这种情况下工作?谢谢!!
-
最好将标题放在导航视图之外。或者根本不使用 NavigationView(因为它通常似乎会导致比它解决的问题更多的问题)。它基本上是一个带有菜单适配器代码的精美损坏的列表视图(这不是一个很棒的功能)。
标签: android onclick navigation-drawer