2011-01-17 12 views
0

Ich kann weder einen Titel noch ein (Titel-) Symbol für meinen benutzerdefinierten Warndialog festlegen. Mein Code:Titel und (Titel) Symbol für ein benutzerdefiniertes Warndialogfeld festlegen

public class AddingFavoriteDialog extends AlertDialog { 
private OnAddingFavoriteListener  onAddingFavoriteListener; 
private Context context; 
private GeocodingManager geocodingManager; 
private FavoritesActivity favoritesActivity; 

public AddingFavoriteDialog(Context context, OnAddingFavoriteListener onAddingFavoriteListener) { 
super(context, android.R.style.Theme_Dialog); 

this.context = context; 
this.onAddingFavoriteListener = onAddingFavoriteListener; 
this.geocodingManager = new GeocodingManager(context); 
this.favoritesActivity = (FavoritesActivity) context; 
} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

setContentView(R.layout.adding_favorite_dialog2); 

setTitle("MYTITLE"); 

setIcon(R.drawable.star_gold); 
} 

Was mache ich falsch? Ich habe auch versucht, es unter super.setTitle("MYTITLE"); in onCreate() sowie im Konstruktor zu setzen.

EDIT: Auch setButton(BUTTON_POSITIVE, context.getString(R.string.button_value_OK), new OnClickListener() {...} scheint nicht zu funktionieren.

+0

versuchen Sie es mit this.setTtitle (""); oder wenn das nicht funktioniert Classname.steTitle (""); – ingsaurabh

+0

Wie instanziieren Sie den Dialog? –

Antwort

1

Verwenden Sie setView anstelle von setContentView, da setContentView alles in AlertDialog ersetzt, einschließlich der Standardtitelleiste und des Symbols (und Schaltflächen usw.). Stattdessen ersetzt setView nur den mittleren Teil (die Nachricht, wenn Sie so wollen).

Verwenden Sie LayoutInflater, wenn Sie müssen.

+0

Ok, das scheint richtig zu sein. Aber nicht, wenn ich 'findViewById()' versuche, erkennt es keine meiner Ansichten. –

+0

Wenn Sie Ihr Layout mit 'LayoutInflater' aufblasen, erhalten Sie ein 'View'-Objekt. Verwenden Sie 'findViewById()' für dieses Objekt, nicht für den AlertDialog selbst. Lassen Sie uns wissen, ob das funktioniert. – Felix

+0

Obwohl ich mir ziemlich sicher bin, habe ich das vor ein paar Stunden ausprobiert ... ratet mal was: Keine Fehler mehr. Aber auch kein Dialog mehr. ;) Es gibt nur ein einfaches Dialogfenster ohne Inhalt, Titel oder irgendetwas anderes. –

0

Erweitern Dialog statt AlertDialog wird das Problem beheben.

Verwandte Themen