onClick侦听器不适用于自定义抽屉布局

时间:2017-08-07 15:56:55

标签: android android-layout listview navigation-drawer

我的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 Listener无法正常工作..只有这出现在调试模式下 &#34; D / ViewRootImpl:ViewPostImeInputStage ACTION_DOWN&#34; 我的页眉布局是我在导航视图中包含的。

<?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>

代码正在运行,我可以获取这些textview的ID。但是onClick Listener无法正常工作..

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您应该像这样在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"/>

答案 1 :(得分:0)

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

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

而不是:

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