Ich habe begonnen, diese Woche Code zu programmieren. Ich habe Tutorials über das Hinzufügen von Ereignissen zum Google Kalender verfolgt, wie ich auf ein Problem gestoßen bin, dass ich die Methode nicht finden konnte. Der Fehler ist:Methode für Android onClick-Ereignis konnte nicht gefunden werden
nicht Methode finden kann onAddEventClicked (View) in einem Elternteil oder einen Vorfahren Kontext für Android: onClick-Attribut definiert auf Ansichtsklasse android.support.v7.widget.AppCompatButton mit id 'addEventButton'
Dies ist mein Code:
package com.example.user.plannerv2;
import android.support.v7.app.AppCompatActivity;
import android.content.Intent;
import android.provider.CalendarContract;
import android.os.Bundle;
import java.util.Calendar;
import android.provider.CalendarContract.Events;
import android.view.View;
public class sub_page01 extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_sub_page01);
}
public void onAddEventClicked(View view) {
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType("vnd.android.cursor.item/event");
Calendar cal = Calendar.getInstance();
long startTime = cal.getTimeInMillis();
long endTime = cal.getTimeInMillis() + 60 * 60 * 1000;
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, startTime);
intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME,endTime);
intent.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true);
intent.putExtra(Events.TITLE, "Customer Cabin");
intent.putExtra(Events.DESCRIPTION, "Cabin is leased out");
intent.putExtra(Events.EVENT_LOCATION, "Cabin");
startActivity(intent);
}
}
Hier ist meine XML;
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/addEventButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onAddEventClicked"
android:text="Add Event" />
</RelativeLayout>
Dies ist der Fehler Ich erhalte:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.user.plannerv2, PID: 16127
java.lang.IllegalStateException: Could not find method onAddEventClicked(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'addEventButton'
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284)
at android.view.View.performClick(View.java:6207)
at android.widget.TextView.performClick(TextView.java:11094)
at android.view.View$PerformClick.run(View.java:23639)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Wie ich gesagt habe, ich bin nicht 100% sicher, wie ich das Verfahren das Gefühl genannt wird. Jede Hilfe wäre großartig.
Sie haben geladen 'R.layout.fragment_sub_page01' in eine andere Klasse ... Abgesehen davon, warum Sie ein Laden sind * * Fragment ** Layout in eine Aktivität? Versuchen Sie, Ihre Ressourcen besser zu benennen –