android - 带有子视图的卡片视图在 OnClickListener 内不起作用
问题描述
<android.support.v7.widget.CardView
android:layout_width="170dp"
android:layout_height="match_parent"
android:id="@+id/home_toolbar_open_kin_marketplace_card_view"
android:clickable="true"
android:focusable="true"
app:cardCornerRadius="12dp"
app:cardBackgroundColor="@color/kinecosystem_bluePrimaryDark">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1.8"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="false"
android:duplicateParentState="true"
android:layout_marginStart="3dp"
android:padding="3dp"
android:layout_weight="1"
android:src="@drawable/kinecosystem_kin_logo"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="false"
android:duplicateParentState="true"
android:id="@+id/home_toolbar_current_kin_balance_text_view"
android:textIsSelectable="true"
android:layout_weight="1"
android:textColor="#FFFFFF"
android:layout_gravity="start"
android:layout_marginStart="3dp"
android:gravity="center_vertical"
android:textSize="12sp"
android:fontFamily="@font/serifgothicstdbold"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="false"
android:duplicateParentState="true"
android:id="@+id/home_toolbar_kin_balance_status_text_view"
android:gravity="center_vertical"
android:layout_marginStart="5dp"
android:textColor="#FFFFFF"
android:textSize="12sp"
android:textIsSelectable="true"
android:textAllCaps="false"
android:fontFamily="@font/serifgothicstdbold"/>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
JAVA代码:-
public class HomeActivityClass extends AppCompatActivity implements HomeActivityView, View.OnClickListener, BottomNavigationView.OnNavigationItemSelectedListener, ConnectivityReceiver.ConnectivityReceiverListener{
private Cardview openKinMarketPlaceButton;
@Override
protected void onCreate(Bundle savedInstanceState){
setViews();
openKinMarketPlaceButton.setOnClickListener(this);
}
@Override
public void setViews() {
fragmentManager = getSupportFragmentManager();
homeBottomNavigationView = findViewById(R.id.home_bottom_navigation_view);
homeToolbarLayout = findViewById(R.id.home_activity_home_toolbar);
userAvatarImageView = homeToolbarLayout.findViewById(R.id.home_activity_user_profile_image_view);
openKinMarketPlaceButton = homeToolbarLayout.findViewById(R.id.home_toolbar_open_kin_marketplace_card_view);
currentKinBalanceTextView = homeToolbarLayout.findViewById(R.id.home_toolbar_current_kin_balance_text_view);
kinBalanceStatusTextView = homeToolbarLayout.findViewById(R.id.home_toolbar_kin_balance_status_text_view);
deviceScreenSizeValidation();
}
@Override
public void onClick(View v) {
if (v == openKinMarketPlaceButton){
homeActivityPresenter.onKinButtonClicked();
}
}
}
openKinMarketplaceButton 是一个卡片视图。它的 OnClickListener 不起作用。如何将 OnClickListener 添加到内部包含子视图的视图组。OnClick 适用于图像视图点击,它位于卡片视图内。我想在整个应用程序中使用卡片视图作为按钮,因为这些按钮具有复杂位置的图像和文本。
解决方案
推荐阅读
- python - 如何为带有 2 个独立笔记本的循环小部件?
- android - 如何使用 GSON 在 android 中将动态嵌套 JSON 转换为 JAVA 对象?
- java - 使用 jarsigner 重复条目 module-info.class 对 java 11 jar 进行签名
- boost - 使用从 brew 安装的 boost-python 和 boost 版本 1.59
- javascript - Google Cast Chrome Sender - 队列更改回调
- vue.js - 捕获父组件中子组件发出的事件的值
- javascript - 从 href 属性获取查询字符串参数
- windows - 通过 GSUTIL 将文件从 Windows 10 文件夹上传到 Gcloud 存储桶时出现问题
- amazon-web-services - 自动选择子网参数值
- android - 我可以管理生命周期所有者,用 Koin 注入 viewModel 吗?