Wie EditText im cached Dialog löschen ?

  • Antworten:1
  • Bentwortet
Mac Systems
  • Forum-Beiträge: 1.727

03.02.2011, 17:55:18 via Website

Moin,

Android verwendet ja Dialoge mehrmals, das führt aber zu dem Problem das Ich den Text in einem Dialog evtl. noch drin habe:

Nun soll man die onPrepareDialog Methode der Activity überschreiben, irgendwie ist dieser Cast aber arg krass (zumal so erstmal garnicht gehen würde):

final EditText textview = (EditText) ((AlertDialog)dialog).getListView();


Erzeugt wird der Dialog mittels :

final Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(false);
final EditText nickNameText = new EditText(this);
nickNameText.setSingleLine();
....


Wie kann Ich das besser lösen ?


mfg,
Mac

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

04.02.2011, 17:25:44 via Website

Um das ganze zu beantworten:

Ich bin dazu gekommen das EditText in einem XML zu halten es dem Dialog zu übergeben und dann mittels findViewById wieder zufinden.


In etwa so:

final Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(false);

final LayoutInflater inflater = getLayoutInflater();
final View dialogView = inflater.inflate(R.nickname_layout, null);
builder.setView(dialogView);
builder.setMessage(R.string.favorites_dialog_nickname_title);
builder.setPositiveButton(android.R.string.ok, new OnClickListener()
{

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten