打印出颜色字符串[Android]

打印出颜色字符串[Android],android,arrays,string,random,colors,Android,Arrays,String,Random,Colors,我在我的应用程序中随机生成颜色,我从XML中获得了整数颜色数组: <resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303F9F</color> <color name="colorAccent">#FF4081</color> <item name="blue" type="colo

我在我的应用程序中随机生成颜色,我从XML中获得了整数颜色数组:

<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<item name="blue" type="color">#FF33B5E5</item>
<item name="purple" type="color">#FFAA66CC</item>
<item name="green" type="color">#FF99CC00</item>
<item name="orange" type="color">#FFFFBB33</item>
<item name="red" type="color">#FFFF4444</item>
<item name="darkblue" type="color">#FF0099CC</item>
<item name="darkpurple" type="color">#FF9933CC</item>
<item name="darkgreen" type="color">#FF669900</item>
<item name="darkorange" type="color">#FFFF8800</item>
<item name="darkred" type="color">#FFCC0000</item>

<integer-array name="androidcolors">
    <item>@color/blue</item>
    <item>@color/purple</item>
    <item>@color/green</item>
    <item>@color/orange</item>
    <item>@color/red</item>
    <item>@color/darkblue</item>
    <item>@color/darkpurple</item>
    <item>@color/darkgreen</item>
    <item>@color/darkorange</item>
    <item>@color/darkred</item>
</integer-array>

我必须在字符串构造函数中添加什么(其中有三个点),因此在message1中,对象将被设置为颜色的名称,该名称是由整数变量randomAndroidColor生成的???

我看到问题的方式是,您必须在int数组的项中定义name属性,并使用XML解析器获取属性。但是我认为你不想因为得到预定义的颜色名称而有那么多麻烦

您只需创建另一个字符串数组并获取名称

<integer-array name="androidcolors">
  <item>@color/blue</item>
  <item>@color/purple</item>
  <item>@color/green</item>
  <item>@color/orange</item>
  <item>@color/red</item>
  <item>@color/darkblue</item>
  <item>@color/darkpurple</item>
  <item>@color/darkgreen</item>
  <item>@color/darkorange</item>
  <item>@color/darkred</item>
</integer-array> 

<string-array name="colornames">
  <item>blue</item>
  <item>purple</item>
  <item>green</item>
  <item>orange</item>
  <item>red</item>
  <item>darkblue</item>
  <item>darkpurple</item>
  <item>darkgreen</item>
  <item>darkorange</item>
  <item>darkred</item>
</string-array>

如果仍要使用XML解析器,请参阅。

谢谢,字符串数组解决了我的问题@Kasun dissanayake.rep++:)
<integer-array name="androidcolors">
  <item>@color/blue</item>
  <item>@color/purple</item>
  <item>@color/green</item>
  <item>@color/orange</item>
  <item>@color/red</item>
  <item>@color/darkblue</item>
  <item>@color/darkpurple</item>
  <item>@color/darkgreen</item>
  <item>@color/darkorange</item>
  <item>@color/darkred</item>
</integer-array> 

<string-array name="colornames">
  <item>blue</item>
  <item>purple</item>
  <item>green</item>
  <item>orange</item>
  <item>red</item>
  <item>darkblue</item>
  <item>darkpurple</item>
  <item>darkgreen</item>
  <item>darkorange</item>
  <item>darkred</item>
</string-array>
int[] androidColors = getResources().getIntArray(R.array.androidcolors);
String [] androidColorsNames = getResources().getStringArray(R.array.colornames);

int randomNumber=new Random().nextInt(androidColors.length);

int randomAndroidColor = androidColors[randomNumber];
layout.setBackgroundColor(randomAndroidColor);
//layout.addView(textView);
TextView textView1 = new TextView(this);
textView1.setTextSize(20);
String message1 = androidColorsNames[randomNumber] ;
textView1.setText(message1);
layout.addView(textView1);