2016-06-02 3 views
0

Ich habe Dialog Alarm wie untenAktualisierungselemente (SingleChoiceItems) eines Dialogbenachrichtigungs

Dialog Alert

Wenn ich es schließen und dann aktualisieren Artikel String Array ist,
, nachdem ich es wieder öffnen, sehe ich die ältere Dialog wie Bild oben und
nichts geändert. Was ist das Problem?

dies Code Rufsignal Dialog

public void onClickSafheMojud(View view){ 
    item=null; 
    Cursor cursor=dbAdapter.getAllData(); 
    int i=0; 
    if(cursor.moveToFirst()) { 

     i=1; 
     while (cursor.moveToNext()){ 

      i++; 
     } 
    } 
    if(i>0) { 
     CharSequence[] items = new CharSequence[i]; 

     if (cursor.moveToFirst()) { 
      items[0] = cursor.getString(0); 
      i = 1; 
      while (cursor.moveToNext()) { 
       items[i] = cursor.getString(0); 
       i++; 
      } 
     } 
     item=items; 
     showDialog(0); 
    } 
    else 


} 

und hier ist Dialog Alert-Builder

@Override 
protected Dialog onCreateDialog(int id){ 
    switch (id){ 
     case 0: 

AlertDialog.Builder builder2=new AlertDialog.Builder(this); 
      builder2.setIcon(R.drawable.res); 
      builder2.setTitle("انتخاب کنید"); 
      builder2.setPositiveButton("برو", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 


       } 
      }); 
      builder2.setNegativeButton("لغو", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        Toast.makeText(getBaseContext(), "لغو شد.", Toast.LENGTH_SHORT).show(); 
       } 
      }); 

      builder2.setSingleChoiceItems(item, 0, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        kodam_safhe=which; 
       } 
      }); 
      kodam_safhe=0; 
      return builder2.create(); 


return null; 
} 
+0

Fügen Sie Ihren Code für den Benachrichtigungsdialog –

+0

Ich verwende keinen Adapter. übergeben Sie einfach ein String-Array an builder.setSingleChoiceItems (String-Array, Listener) – Arm

+1

Zeigen Sie uns Ihren Code. Wie stellst du den Adapter ein und wie aktualisierst du dessen Array? usw. –

Antwort

0

Nehmen auf globel int variabel.

int test = 0; 

Und setSingleChoiceItems wie diese

builder2.setSingleChoiceItems(item, test, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        test = which; 
       } 
      }); 

Glücklich Codierung ..

0

Nach Tagen fand ich die Antwort
das Problem ist: Verwendung von onCreateDialog und außer Kraft setzen es
ich einfach erstellen AlertDialog.Builder und dann zeigen Sie es
Ich benutze nicht showDialog() Methode
Artikel aktualisieren jedes Mal

Verwandte Themen