Hi, ich hab in eine Klasse die nicht von der Activity erbt einen Dialog definiert der einen eigenen layout hat. Der layout beinhaltet zwei buttons. Der eine bricht den Dialog ab und der andere ist ähnlich wie ein "ok" button. Nun will ich für die beiden buttons onclicklistener aufrufen doch das scheint irgentwie nicht zu funktionieren.
Hier die Klasse
import android.app.Dialog;
import [...]
public class DialogDeckErstellen {
private Dialog dialog;
private ProjectFileCards projectFileCards; //Mainklasse
private EditText editText;
private EditText editText2;
private EditText editText3;
private Button button;
private Button button2;
public void showDialog() {
setupVariable();
dialog.setTitle("Neuen Deck erstellen");
dialog.setContentView(R.layout.deck_erstellen);
dialog.show();
//Der funktioniert garnicht, was auch mein Problem ist.
//(ist anscheinend an der falsche Stelle definiert?)
button2.setOnClickListener(new OnClickListener() { //Zeile 26
public void onClick(View v) {
dialog.dismiss();
}
});
}
private void setupVariable() {
projectFileCards = new ProjectFileCards();
dialog = new Dialog(projectFileCards.getContext());
editText = (EditText) dialog
.findViewById(R.id.deck_erstellen_edt_deck_name);
editText2 = (EditText) dialog
.findViewById(R.id.deck_erstellen_edt_erste_sprache);
editText3 = (EditText) dialog
.findViewById(R.id.deck_erstellen_edt_zweite_sprache);
button = (Button) dialog.findViewById(R.id.deck_erstellen_btn_anfuegen);
button2 = (Button) dialog
.findViewById(R.id.deck_erstellen_btn_abbrechen);
}
}
Alles anzeigen
und hier sind die Fehlermeldungen (Logcat) :
E/AndroidRuntime(20615): FATAL EXCEPTION: main
E/AndroidRuntime(20615): java.lang.IllegalStateException: Could not execute method of the activity
E/AndroidRuntime(20615): at android.view.View$1.onClick(View.java:2191)
E/AndroidRuntime(20615): at android.view.View.performClick(View.java:2586)
E/AndroidRuntime(20615): at android.view.View$PerformClick.run(View.java:9262)
E/AndroidRuntime(20615): at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(20615): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(20615): at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime(20615): at android.app.ActivityThread.main(ActivityThread.java:3744)
E/AndroidRuntime(20615): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(20615): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(20615): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/AndroidRuntime(20615): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/AndroidRuntime(20615): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(20615): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime(20615): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(20615): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(20615): at android.view.View$1.onClick(View.java:2186)
E/AndroidRuntime(20615): ... 11 more
E/AndroidRuntime(20615): Caused by: java.lang.NullPointerException
E/AndroidRuntime(20615): at de.project.file.cards.DialogDeckErstellen.showDialog(DialogDeckErstellen.java:26)
E/AndroidRuntime(20615): at de.project.file.cards.ProjectFileCards.onButtonClick(ProjectFileCards.java:51)
E/AndroidRuntime(20615): ... 14 more
hoffe ihr könnt mir helfen, danke
mfg