Java 抽屉布局和侦听器冲突-Android
当我更改布局Xml中Java 抽屉布局和侦听器冲突-Android,java,android,android-layout,listview,drawerlayout,Java,Android,Android Layout,Listview,Drawerlayout,当我更改布局Xml中列表视图和抽屉布局(具有导航菜单)的顺序时 案例1:如果ListView位于顶部:则导航菜单会过度显示它。 案例2:如果抽屉布局在顶部:则MClicklistner不起作用 Main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/a
列表视图
和抽屉布局
(具有导航菜单)的顺序时案例1:如果
ListView
位于顶部:则导航菜单会过度显示它。案例2:如果抽屉布局在顶部:则MClicklistner不起作用 Main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ShopkeeperMainActivity"
android:descendantFocusability="blocksDescendants" >
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:visibility="visible"></ListView>
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alwaysDrawnWithCache="false"
android:animateLayoutChanges="?android:attr/windowSwipeToDismiss"
android:clipChildren="false"
android:fadingEdge="none|horizontal|vertical"
android:fitsSystemWindows="false"
android:visibility="visible"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false">
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/navigation_menu_header"
app:menu="@menu/navigation_menu_shopkeper"></android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
</android.support.constraint.ConstraintLayout>
在案例1中,我尝试了以下方法:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(drawer_btn_count_flag==100)
drawer_btn_count_flag = 2; // reset back 2
if(drawer_btn_count_flag%2==0) {
listView.setVisibility(View.INVISIBLE);
drawer_btn_count_flag++;
}
else {
listView.setVisibility(View.VISIBLE); // back vivisble
drawer_btn_count_flag++;
}
但在导航菜单隐藏之前,它会使
listview
项可见。这看起来很尴尬 像这样使用。。。。。它成功了+1。对此的任何解释都将不胜感激。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(drawer_btn_count_flag==100)
drawer_btn_count_flag = 2; // reset back 2
if(drawer_btn_count_flag%2==0) {
listView.setVisibility(View.INVISIBLE);
drawer_btn_count_flag++;
}
else {
listView.setVisibility(View.VISIBLE); // back vivisble
drawer_btn_count_flag++;
}