2016-06-02 15 views
0

私はそれを閉じて、それがアイテムString Arrayだ更新すると私は更新項目(SingleChoiceItems)

Dialog Alert

以下のようなダイアログの警告を持って、
私は再びそれを開いた後、私は古いを見ますDialogのような画像と
nothingsが変更されました。どうしたの?

これは警告ダイアログ

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 


} 

を呼び出すコードであり、ここでダイアログアラートビルダー

@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

警告ダイアログにコードを含めます –

+0

アダプターは使用しません。文字列配列をbuilder.setSingleChoiceItems(文字列配列、リスナー)に渡します。 – Arm

+1

コードを表示します。どのようにアダプターを設定していて、どのようにアダプターを更新していますか? –

答えて

0

がglobel int変数を取るです。 onCreateDialogの使用とそれが
私はちょうど作成オーバーライド:私は
問題がある答えを見つけた日後にコーディングハッピーこの

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

よう

int test = 0; 

そしてsetSingleChoiceItems ...

0

AlertDialog.Builderを表示してそれを表示します
私はshowDialog()メソッドを使用しません
アイテムは毎回更新されます

関連する問題