我需要显示一个对话框,其颜色列表可供选择。我找到了这个解决方案here。
CharSequence colors[] = new CharSequence[] {"red", "green", "blue", "black"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setItems(colors, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// the user clicked on colors[which]
}
});
builder.show();
我已经有一个String数组颜色。如何将其转换为CharSequence?我在考虑使用类型转换
CharSequence colors[] = (CharSequence) mStringArray;
但这条路线不起作用
答案 0 :(得分:7)
String
已经是CharSequence
,因为Java中的数组是covariant,String[]
已经是CharSequence[]
。您可能根本不需要演员表,但如果您使用演员表,那么它应该是(CharSequence[]) mStringArray
。