2013-02-03 186 views
0

我已填充我的微調,它出現在DialogFragment,有兩個列表 - 列表1列表2。我希望列表以兩種不同的顏色顯示:即藍色的列表1和紅色的列表2,下拉列表中。 我該如何動態實現這一點?改變顏色,2種顏色

public class AlertDialogFragment extends DialogFragment { 

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    // Use the Builder class for convenient dialog construction 
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    LayoutInflater inflater = getActivity().getLayoutInflater(); 

    View view = inflater.inflate(R.layout.dialog, null); 

    Spinner spin; 
    spin = (Spinner)view.findViewById(R.id.spinner1); 

    List<String> list = new ArrayList<String>(); 
    list.add("Material 1"); 
    list.add("Material 2"); 
    list.add("Material 3"); 
    list.add("Material 4"); 
    list.add("Material 5"); 
    list.add("Material 6"); 

    //Second List 
    List<String> list2 = new ArrayList<String>(); 
    list2.add("Mat 7"); 
    list2.add("Mat 8"); 
    list2.add("Mat 9"); 

    //Combined List 
    List<String> listCombine = new ArrayList<String>(); 
    listCombine.addAll(list); 
    listCombine.addAll(list2); 

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getActivity(), 
      android.R.layout.simple_spinner_item, listCombine); 

    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    spin.setAdapter(dataAdapter); 

    builder 
    .setTitle("Title") 
    .setView(view) 
    .setPositiveButton("Add", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        // FIRE ZE MISSILES! 
       } 
      }) 
      .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        // User cancelled the dialog 
       } 
      }); 
    // Create the AlertDialog object and return it 
    return builder.create(); 
} 
} 

回答

0

最可靠的方法是創建一個自定義適配器使用兩個不同的佈局:一紅一個藍。您將需要覆蓋這三種方法:

或者您可以自行覆蓋getDropDownView()以更改合適的顏色。