Auswahlmenü bei klick auf Button

  • Antworten:6
  • Bentwortet
Alexander R.
  • Forum-Beiträge: 1.148

03.08.2010, 10:37:17 via Website

Hallo ich habe einen Button, und wenn darauf geklickt wird soll sich ein keines Auswahlmenü öffnen (momentan gibt es nur einen FC)
Habe mit absicht hier mal :new AlerrDialog.Builder(null) benutzt,
da es bei AlertDialog.Builder(this) folgenden Fehler ergibt:
The Constructor AlertDialog.Builder(new View.OnClickListener(){}) is undefined.

1private OnClickListener feedback = new OnClickListener() {
2 public void onClick(View v) {
3 final CharSequence[] items = {"Feedback", "Empfehlen"};
4 AlertDialog.Builder builder = new AlertDialog.Builder(null);
5 builder.setTitle("Bitte Wählen");
6 builder.setItems(items, new DialogInterface.OnClickListener() {
7 public void onClick(DialogInterface dialog, int item) {
8 if(items[item]=="Feedback")
9 {
10 Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
11 String[] recipients = new String[]{"MAIL", "",};
12 emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients);
13 emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "SUBJECT");
14 emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "");
15 emailIntent.setType("text/plain");
16 startActivity(Intent.createChooser(emailIntent, "Aktion durchführen mit:"));
17 }
18
19 else if(items[item]=="Empfehlen")
20 {
21 Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
22 String[] recipients = new String[]{"", "",};
23 emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients);
24 emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "SUBJECT");
25 emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "TEXT");
26 emailIntent.setType("text/plain");
27 startActivity(Intent.createChooser(emailIntent, "Aktion durchführen mit:"));
28 }
29 }
30 });
31 AlertDialog alert = builder.create();
32 alert.show();
33 }

Danke schonmal im vorraus

Gruß Alexander

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

03.08.2010, 11:08:41 via Website

naja is ja auch logisch, wenn du dich im context deines listeners befindest. dann kannst auch schwer this schreiben.

versuchs mal mit MeineActivityClass.this

swordiApps Blog - Website

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

03.08.2010, 11:42:47 via Website

danke...
läuft nun perfekt

Gruß Alexander

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

03.08.2010, 11:55:49 via Website

kann mir nicht vorstellen, dass es perfekt läuft

if (items[item]=="Empfehlung")

ein Sting Vergleich mit == ist nicht wirklich ein String vergleich. - nur als kleiner tipp

swordiApps Blog - Website

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

03.08.2010, 12:33:48 via Website

Naja es funktioniert immerhin..

was wäre eventuell besser?

Gruß Alexander

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

03.08.2010, 13:16:33 via Website

java grundlagen:

if (meinString.equals("hallo"))
System.out.println("Strings are equal");
else
System.out.println("Strings are NOT equal");

swordiApps Blog - Website

Antworten
Hendrik
  • Forum-Beiträge: 13

05.08.2010, 09:03:28 via Website

[klugscheiß]
sauberer wär dann noch ein

if ("hallo".equals(meinString))
System.out.println("Strings are equal");
else
System.out.println("Strings are NOT equal");

- dann fängt man sich keine NPE ;) Wobei bei dieser Anwendung recht egal da ja die items definiert sein müssen...
[/klugscheiß]

:)

Antworten