OnclickListner 在 CardView 上 - Android

OnclickListner On CardView - Android

提问人:Rahul Nakum 提问时间:7/29/2023 最后编辑:Rahul Nakum 更新时间:7/30/2023 访问量:30

问:

我有以下代码,可以显示搜索栏并在CardView中添加文本。

       <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_marginStart="10dp"
                    android:layout_weight="0.7"
                    android:background="@drawable/round_rectangle"
                    android:orientation="horizontal">

                    <ImageView
                        android:layout_width="20dp"
                        android:layout_height="20dp"
                        android:layout_gravity="center_vertical"
                        android:layout_marginStart="10dp"
                        android:src="@drawable/ic_search"
                        app:tint="@color/gray" />

                    <EditText
                        android:id="@+id/edt_search"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_marginStart="10dp"
                        android:layout_marginEnd="10dp"
                        android:background="@android:color/transparent"
                        android:fontFamily="@font/spartan_medium"
                        android:gravity="center_vertical"
                        android:textSize="18sp"
                        android:textStyle="normal" />
                </LinearLayout>

                <androidx.cardview.widget.CardView
                    android:id="@+id/cardAddAccount"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_marginStart="10dp"
                    android:layout_marginEnd="5dp"
                    android:layout_weight="0.3"
                    android:orientation="horizontal"
                    android:clickable="true"
                    app:cardBackgroundColor="@color/solitude"
                    app:cardCornerRadius="5dp"
                    app:cardElevation="0dp">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_gravity="center"
                        android:fontFamily="@font/spartan_semibold"
                        android:gravity="center"
                        android:text="@string/home_btn_add"
                        android:textColor="@color/dodgerBlue"
                        android:textSize="14sp"
                        android:textStyle="italic" />

                </androidx.cardview.widget.CardView>

            </LinearLayout>

上述activity_home.xml的结果如下所示。activity_home.xml

主页活动.java

     CardView cardView = findViewById(R.id.cardAddAccount);
        if (cardView != null) {
            cardView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // Launch AddAccountActivity when the CardView is clicked
                    Intent i = new Intent(HomeActivity.this, AddAccountActivity.class);
                    startActivity(i);
                }
            });
        }

我想当用户单击“添加”按钮时,AddAccountActivity.class应该打开。但是使用给定的代码,应用程序在单击“添加”时崩溃。

安卓 OnClickListener 卡视图

评论

0赞 Candyman 7/29/2023
您没有收到任何崩溃错误吗?那将非常有用。

答:

0赞 Rahul Nakum 7/30/2023 #1

我找到了一个解决方案,我忘记在AddAccountActivity..class文件中创建onCreate()方法。

public class AddAccountActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_account);
    }

}