触发onclick方法时收到错误

时间:2019-03-08 00:54:19

标签: android onclick android-dialogfragment buttonclick

因此,我已经在xml布局中为我的保存按钮定义了onclick方法,然后在我的对话框片段中创建了该方法,但是当单击保存按钮时,应用程序崩溃,并且我收到此错误:{{1 }}不太确定为什么要在我的xml和dialogfragment类中都定义了该方法

xml:

Could not find method saveClicked(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'savebutton'

Dialogfragment类:

<?xml version="1.0" encoding="utf-8"?>
<android.widget.CalendarView
    android:id="@+id/calendar_layout"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@color/activityBackGroundColor">

   <RelativeLayout
       android:id="@+id/calendar_relative_layout"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_marginTop="335dp"
       android:background="@color/activityBackGroundColor"
       >
        <!--Todo:Make button corners rounded-->
       <Button
           android:id="@+id/savebutton"
           android:layout_width="wrap_content"
           android:layout_height="30dp"
           android:layout_alignParentTop="true"
           android:layout_marginStart="20dp"
           android:layout_marginRight="296dp"
           android:layout_marginBottom="20dp"
           android:background="@color/toolBarColor"
           android:onClick="saveClicked"
           android:text="SAVE"
           android:textAlignment="center" />
   </RelativeLayout>

</android.widget.CalendarView>

}

1 个答案:

答案 0 :(得分:1)

错误提示,Could not find method saveClicked(View) in a parent or ancestor Context for android:onClick attribute defined on view class

您需要在主机“活动”中定义方法saveClicked。片段并非旨在执行此操作。请看看:Android Fragment onClick button Method