因此,我已经在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>
}
答案 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