我试图在相对布局上执行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
但没起作用。
我该怎么办?有什么建议吗?
2条答案
按热度按时间gxwragnw1#
尝试以下两个建议
使relativelayout可单击
android:clickable="true"
禁用imagebutton(它是relativelayout的子视图)click事件android:clickable="false"
3wabscal2#
这个整体看起来像一个工具栏和一些菜单。如果我猜是这样,只需使用oncreateoptionsmenu()创建配置文件菜单,并使用onoptionsitemselect()侦听器重定向到该页面。如果不是这样,请忽略我的评论