我在我的应用中使用random
来显示不同的内容。
我有两个XML Ress
文件,其中包含一些句子,但我无法使用random
选择XML Ress
。
这样的工作:
[Choose a nickname from 4 edittext] + [Choose a XML Ress] + [Choose a nickname from 4 edittext]
。
此代码采用随机昵称,这是有效的。但问题出在XML Ress
......
编辑:第二个问题是caused by: java.lang.NullPointerException: Attempt to get length of null array at com.XX.onCreate(phrasesgenerator_players.java:65)
。这一行是choosegame[rgenerator.nextInt(choosegame.length)]
活动(已修改):
public class phrasesgenerator_players extends AppCompatActivity {
private static final Random rgenerator = new Random();
private TextView tv;
String[] playerge;
private String[] myString;
private String[] myString2;
private String[] choosegame = (String[]) ArrayUtils.addAll(myString, myString2);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.parseColor("#2980b9"));
}
setContentView(R.layout.activity_phrasesgenerator);
View view = this.getWindow().getDecorView();
view.setBackgroundColor(Color.parseColor("#3498db"));
playerge= new String[] {"player1", "player2", "player3", "player4"};
Resources res = getResources();
Random random = new Random();
myString = res.getStringArray(R.array.phrases_avecjoueurs);
myString2 = res.getStringArray(R.array.phrases_avecjoueurs_defis);
String q =
getIntent().getExtras().getString(playerge[random.nextInt(playerge.length)])
+ " "
+ choosegame[rgenerator.nextInt(choosegame.length)]
+ " "
+ getIntent().getExtras().getString(playerge[random.nextInt(playerge.length)]);
tv = (TextView) findViewById(R.id.textView);
tv.setText(q);
}
}
我尝试使用:
choosegame = new String[]{myString, myString2};
但我有:不兼容类型。找到:'java.lang.string []',必需'java.lang.string'。
我也尝试使用
getString(choosegame[rgenerator.nextInt(choosegame.length)])
但我有:无法解析方法'getString(java.lang.String)'
我如何使用随机的2 XML Ress。
XML文件是这样的:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="phrases_avecjoueurs">
<item>PH 1</item>
<item>PH 2</item>
<item>PH 3</item>
<item>PH 4</item>
<item>PH 5</item>
<item>PH 6</item>
</string-array>
<string-array name="phrases_avecjoueurs_defis">
<item>DEFIS 1</item>
<item>DEFIS 2</item>
<item>DEFIS 3</item>
<item>DEFIS 4</item>
<item>DEFIS 5</item>
<item>DEFIS 6</item>
</string-array>
感谢您的帮助。
答案 0 :(得分:1)
您可以尝试使用以下代码初始化choosegame -
String[] choosegame = (String[])ArrayUtils.addAll(myString, myString2);
答案 1 :(得分:0)
如果您希望choosegame是一个由字符串组成的新字符串数组 myString和myString2,使用
choosegame = {myString, myString2};