2016-11-01 12 views
1

私は選択する色のリストでダイアログを表示する必要があります。私はこの解決策が見つかったhere文字列配列をCharSequenceに変換するには?

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(); 

私はすでに色の文字列配列を持っています。 CharSequenceに変換するにはどうすればよいですか?私は

CharSequence colors[] = (CharSequence) mStringArray; 

型キャストを使用することを考えていた。しかし、このルートは

+0

ブラケット? CharSequence colors [] =(CharSequence [])mStringArray; –

+0

あなたはhttp://stackoverflow.com/questions/19594587/how-to-convert-a-string-array-to-char-array-in-java –

+0

'STRING'は'あるこのリンクでこのコードを試してみましたのCharSequence'。 'String []'は 'CharSequence []'です。あなたの 'String []'を 'setItems()'に渡すだけです。 –

答えて

4

StringがすでにCharSequenceで、配列はJavaでcovariantているので、String[]はすでにCharSequence[]では動作しません。おそらくキャストは必要ありませんが、キャストを使用する場合は(CharSequence[]) mStringArrayにする必要があります。

関連する問題