Alert mit textübergabe und rückgabewert

  • Antworten:4
Roland R.
  • Forum-Beiträge: 11

09.01.2013, 15:21:06 via Website

Guten morgen mal wieder

Ich habe ein Problem, Ich benötige eine Alert box der ich den Anzeigetext mit übergeben kann und die mir dann ok oder Cancel zurück gibt. Und weil es so schön ist das ganze nicht in den normalen Farben sondern schwarze schrift und weißer Hintergrund.

Wäre cool wenn jemand von euch da nen gutes tut zu hat oder mir bei meinem Code helfen kann den ich bei bedarf natürlich poste.

Hatte vor mir ne klasse zu bauen die ich nur auffrufe wie Alert.showcustom(text) am liebsten

richtig cool wär auch noch wenn der dialog den rest blockiert

— geändert am 09.01.2013, 16:06:58

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

09.01.2013, 16:29:26 via Website

Du meinst so eine typische MessageBox? Dafür habe ich mir mal eine statische Funktion zu meiner Tools Sammlung hinzugefügt:

1public static void createOkCancelDialog(Context context,
2 DialogInterface.OnClickListener positiveListener,
3 DialogInterface.OnClickListener negativeListener, int messageId) {
4 AlertDialog.Builder builder = new AlertDialog.Builder(context);
5 builder.setNegativeButton(android.R.string.cancel, negativeListener);
6 builder.setPositiveButton(android.R.string.ok, positiveListener);
7 builder.setCancelable(false);
8 builder.setMessage(messageId);
9 builder.show();
10 }

In Deiner Activity o.ä. implementierst Du dann den onClickListener:

1public class MyActivity extends Activity implements DialogInterface.OnClickListener {
2
3 @Override
4 public void onClick(DialogInterface dialogInterface, int which) {
5 switch (which) {
6 case DialogInterface.BUTTON_NEGATIVE:
7// Dein Code
8 break;
9 case DialogInterface.BUTTON_POSITIVE:
10// Dein Code
11 break;
12 }
13
14 dialogInterface.dismiss();
15 }
16}

Und so rufst Du das auf:

1MyTools.createOkCancelDialog(this, this, this, R.string.messagetext);

Es gibt viele Möglichkeiten das zu machen, das ist nur eine.

Antworten
Christian
  • Forum-Beiträge: 307

09.01.2013, 16:42:48 via Website

Vielleicht noch als Ergänzung zu Harald seinen Post kannst du ja mal den Eintrag zu Dialog in der Android Doku ansehen -> Link

mfg Christian

Antworten
Roland R.
  • Forum-Beiträge: 11

10.01.2013, 10:13:05 via Website

Vielen dank schon mal,

an sich ist das schon fast perfekt, mein Problem wird wahrscheinlich nach der Implementation sein das ich wieder ein anderes Farblayout für den Dialog brauch :/ kriegt man das auch noch halbwegs einfach hin? Das war nämlich fast mein größeres Problem :P

Antworten
Roland R.
  • Forum-Beiträge: 11

10.01.2013, 11:57:41 via Website

also die Methoden von oben sind echt gut für meine zwecke musste zwar kurz cheaten aber es geht :)

Allerdings habe ich nun das riesen Problem das die Schrift im Dialog weiß ist und sich NICHT ändern lässt :(
habe ihm als style folgenden übergeben:

<style name="AlertDialogCustom" parent="@android:style/Theme.Dialog">
<item name="android:background">#000000</item>
<item name="android:textColor">#000000</item>
<item name="android:typeface">sans</item>
<item name="android:textSize">10sp</item>
</style>

Antworten