2014-01-15 96 views
-2

我有一個類從數據庫檢索ArrayList。我需要在「Alert Dialog」構建器中顯示這些項目。但即時通訊在這個錯誤。請幫忙!警報對話框生成器不會顯示ArrayList

這是我的錯誤:

Error: The method setSingleChoiceItems(int, int, DialogInterface.OnClickListener) in the type AlertDialog.Builder is not applicable for the arguments (Name[], int, new DialogInterface.OnClickListener(){})

ArrayList<Name> n_names = null; 


n_names = db.getAllNames(); 

AlertDialog.Builder builder = new AlertDialog.Builder(Name.this); 
    builder.setTitle("Choose Name"); 
    builder.setSingleChoiceItems(n_names.toArray(new Name[n_names.size()]), -1, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int item) { 

    }}); 

    builder.setPositiveButton("Ok", 
    new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 

    }}); 


    builder.setNegativeButton("Cancel", 
    new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int id) { 


    }}); 
    AlertDialog alert = builder.create(); 
    alert.show(); 
+2

你可以指定什麼錯誤? – Raghunandan

+0

你如何在這裏初始化你的n_name? – Ranjit

+1

我認爲它仍然是空的。 – Ranjit

回答

0

我認爲錯誤是,你提供定製類對象爲setSingleChoiceItems方法。第一個參數必須是CharSequence[]ListAdapterCursor。如果您不打算放置其中的一個,則必須擴展Dialog類以實現您自己的setSingleChoiceItems方法。

---- ----編輯

在你的情況,我建議擴大ArrayAdapter類,因爲你有一些自定義的結構顯示(在你的情況下,CheckBox)。爲了幫助你做到這一點,你可能會看到my answer類似的問題,little basic explaination如何擴展ArrayAdapter類。希望這可以幫助你!

+0

但我該怎麼做?或者你能幫我實現一個帶複選框的列表視圖?這樣我可以顯示數組列表? – belladonna

+0

看我的編輯,希望它可以幫助你! – nKn

+0

嗨!誰能幫助我如何在列表視圖中顯示自定義數組列表/ arrayadapter? lv.setAdapter(適配器);我沒有錯誤。但它什麼也沒有顯示。請幫忙 – belladonna