【问题标题】:onClick listener is not working for custom drawer layoutonClick 侦听器不适用于自定义抽屉布局
【发布时间】:2017-08-07 15:56:54
【问题描述】:

我的 NavigationView XML 是:

<android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        android:background="@drawable/drawer_img"
         >
        <include layout="@layout/nav_header_navigation" /> </android.support.design.widget.NavigationView>

我的java代码是:

TextView tv_inicio = (TextView)findViewById(R.id.home_inicio);
             tv_inicio.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View view) {
                    System.out.println("Home Incio Clicked .");
                }
            });

OnClick 监听器不工作.. 只有这个出现在调试模式 “D/ViewRootImpl:ViewPostImeInputStage ACTION_DOWN” 我的标题布局是我包含在导航视图中的。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:orientation="vertical"
    android:id="@+id/frame_layout"
    >
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_centerHorizontal="true"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        android:layout_weight="1"
        android:layout_gravity="center_horizontal"
        android:src = "@drawable/menu_logo_03" />
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="130dp"
        >
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_gravity="center_horizontal"
           >
            <TextView
                android:id="@+id/home_inicio"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="0dp"
                android:drawableLeft="@drawable/inicio"
                android:layout_gravity="center|center_horizontal"
                />
            <TextView
                android:id="@+id/enventos"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:drawableLeft="@drawable/eventos"
                android:layout_gravity="center"
                />
            <TextView
                android:id="@+id/dm_menu"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:drawableLeft="@drawable/dm"
                android:layout_gravity="center"
                />
            <TextView
                android:id="@+id/barrios"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="20dp"
                android:drawableLeft="@drawable/barrios"
                 />
            <TextView
                android:id="@+id/gremios"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="20dp"
                android:drawableLeft="@drawable/gremios"
                />
            <TextView
                android:id="@+id/proyectos"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="20dp"
                android:drawableLeft="@drawable/proyectos"
                 />
            <TextView
                android:id="@+id/daniel_medios"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="20dp"
                android:drawableLeft="@drawable/danielme"
                 />
            <TextView
                android:id="@+id/conoce"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="20dp"
                android:drawableLeft="@drawable/conoce"
               />
            <TextView
                android:id="@+id/radio"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="20dp"
                android:drawableLeft="@drawable/radio"
                 />
        </LinearLayout>
    </ScrollView>
</RelativeLayout>

代码正在运行,我可以获取这些文本视图的 ID。但是 onClick 侦听器不起作用..

任何帮助将不胜感激。

【问题讨论】:

  • home_inicio 是在哪个布局中定义的?
  • @NehaK in nav_header_navigation

标签: android android-layout listview navigation-drawer


【解决方案1】:

您应该像这样在app:headerLayout 中添加标题,而不是作为单独的包含布局:

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/drawer_header"
    app:menu="@menu/drawer_view"/>

【讨论】:

  • 版面有图片,所以不行。我以前做过。但没有收获
【解决方案2】:

如果我很好地理解了您的意图,您可能希望在单击按钮时打印文本。如果这就是您的意思,请尝试在 Logcat 屏幕中而不是在命令提示符中显示您的文本,如下所示:

Log.d("significant index", "your text"); 

代替:

System.out.println("Home Incio Clicked .");

【讨论】:

  • 我已经设置了调试器。调试器没有点击 onClick Listner 方法。:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多