Ich versuche etwas Ungewöhnliches zu tun. Ich habe eine Hauptaktivität mit einem Menü an der Menüschaltfläche. Ein Element im Menü öffnet einen Dialog zum Auswählen eines Steuerelements, das zur Hauptaktivität hinzugefügt wird. Ich habe es funktioniert, so fügt es das Steuerelement hinzu und speichert es in einer Datenbank (damit es für den nächsten Lauf gespeichert wird). Ich muss den onClickListener des Knopfes auf onClick der Haupttätigkeit einstellen.Wie referenziere ich das onClick der Hauptaktivität von innerhalb der onClick Menthod eines Dialogs ... oder kann ich?
public class MyMainActivity extends Activity
implements View.OnClickListener, View.OnTouchListener
{
private Context mContext;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
AbsoluteLayout mMainActivityView = new AbsoluteLayout;
SetContentView(mMainActivityView);
... populate mMainActivityView from database ...
public void onClick(View v) {
switch (v.id) {
case NEW_BUTTON_ID:
// TODO implement click handler
}
}
...
...
protected Dialog onCreateDialog(int id) {
switch (id) {
case NEW_BUTTON_DIALOG_ID:
...
...
builder.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
int XPos = Integer.valueOf(editXPos.getText().toString());
int YPos = Integer.valueOf(editYPos.getText().toString());
mDataLayer.AddControl(mScreenID, Width, Height, XPos, YPos, editButtonText.getText().toString());
Button button = new Button (mContext);
button.setLayoutParams(new AbsoluteLayout.LayoutParams(Width, Height, XPos, YPos));
button.setText(editButtonText.getText().toString());
mMainActivityView.addView(button);
// How to set Listeners from main activity?
button.setOnClickListener(?????);
button.setOnTouchListener(?????);
MyMainActivity.this.removeDialog(NEW_BUTTON_DIALOG_ID);
}
});
builder.setNegativeButton(android.R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
MyMainActivity.this.removeDialog(NEW_BUTTON_DIALOG_ID);
}
});
AlertDialog NewButtonDialog = builder.create();
return NewButtonDialog;
}
return null;
}
Also, wie Ehrfurcht ich die onClick()
Haupttätigkeit von der Schaltfläche Alertdialog withing?
'main.this' wo main (Verruf für Aktivität) Aktivität ist? – Selvin
Danke Selvin. Das war es, was ich vermisste. (LOL Haupt war nur für das Modell oben. Hätte ich das ganze Ding gepostet, hätte man es eine Stunde lang gelesen) – cstrutton