android-无法在相对布局上执行setonclicklistener

krcsximq  于 2021-07-06  发布在  Java
关注(0)|答案(2)|浏览(435)

我试图在相对布局上执行setonclicklistener,但无法执行意味着没有响应。我尝试了一个log语句来检查它是否被单击,但是没有显示任何内容 Logcat .
下面是xml代码

<com.google.android.material.appbar.AppBarLayout
    android:id="@+id/appbarlayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginStart="-10dp"
    android:layout_marginTop="-10dp"
    android:layout_marginEnd="-10dp"
    android:layout_marginBottom="-10dp"
    android:padding="5dp">

    <RelativeLayout
        android:id="@+id/viewProfile"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <ImageButton
            android:id="@+id/back_press"
            android:layout_width="40dp"
            android:layout_height="50dp"
            android:layout_alignParentStart="true"
            android:layout_centerVertical="true"
            android:layout_marginEnd="15dp"
            android:background="@drawable/back_press"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_back" />

        <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/friendpic"
            android:layout_width="55dp"
            android:layout_height="55dp"
            android:layout_marginStart="-5dp"
            android:layout_marginEnd="20dp"
            android:layout_toEndOf="@+id/back_press"
            android:src="@drawable/ic_user" />

        <TextView
            android:id="@+id/friendname"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toEndOf="@+id/friendpic"
            android:fontFamily="@font/alegreya_sc_italic"
            android:text="Username"
            android:textSize="22sp" />

        <TextView
            android:id="@+id/status"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/friendname"
            android:layout_toEndOf="@+id/friendpic"
            android:text="offline"
            android:textSize="16sp" />
    </RelativeLayout>

</com.google.android.material.appbar.AppBarLayout>

下面是java代码

RelativeLayout relativeLayout;
relativeLayout = findViewById(R.id.viewProfile);
relativeLayout.setOnClickListener(v -> {
            Log.d("TAG", "onCreate: True");
            Intent intent1 = new Intent(ChatActivity.this, ViewFriendProfile.class);
            intent1.putExtra("friendId", friendId);
            startActivity(intent1);
        });

注意:我试过用在 AppBarLayout 但没起作用。
我该怎么办?有什么建议吗?

gxwragnw

gxwragnw1#

尝试以下两个建议
使relativelayout可单击 android:clickable="true" 禁用imagebutton(它是relativelayout的子视图)click事件 android:clickable="false"

3wabscal

3wabscal2#

这个整体看起来像一个工具栏和一些菜单。如果我猜是这样,只需使用oncreateoptionsmenu()创建配置文件菜单,并使用onoptionsitemselect()侦听器重定向到该页面。如果不是这样,请忽略我的评论

相关问题