0

我想生成一个随机字符串(带有一些规则),而不是将其用作 textview id。例如,我想在这个字符串中使用 settext。目的:我应该随机选择一个文本视图,而不是将其文本设置为另一个。

4

2 回答 2

0

您的思考过程似乎有点复杂,但可能有一个更简单的解决方案。ID 实际上只被 Android 用作整数的占位符。您可以使用您要使用的所有 id 填充一个整数数组,然后从该数组中随机选择一个,而不是随机生成一个 id 的占位符。在您的活动中实施可能如下:

Random rand = new Random();
int[] myTextViews = new int[]{R.id.textView1, R.id.textView2, R.id.textView3}
int length = myTextViews.length;

TextView tV = (TextView)findViewById(myTextViews[rand.nextInt() % length]);
tV.setText("Whatever Text You Want");

我希望这有帮助!祝你好运

于 2013-10-14T13:31:13.113 回答
0

实际上,有不同的方法可以达到这个目的。例如,您可以拥有一组可以随机选择的文本。

String[] strArr = { "text1", "text2", "text3" };
Random rand = new Random();
int selected = rand.nextInt(3);
textView.setText(strArr[selected]);

如果您必须从其他文本视图中获取字符串,那么您可以创建一个 ID 数组而不是文本数组。然后使用Random对象来获取一个 ID,然后是类似的东西:

TextView textToGetString = (TextView) findViewById(idArray[selected]);
String newText = textToGetString.getText();
于 2013-10-14T15:49:07.577 回答