我有以下情况:
我有一个包含245个String
项的数组。现在我有一个Button
,在点击时会从数组中随机String
。但是接着,我会在一个字符串之后重复,之前的字符串就会出现。如何解决?
以下是代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn1 = (Button)findViewById(R.id.button1);
btn1.setOnClickListener(this);
Resources res = getResources();
titles = res.getStringArray(R.array.title_array);
String q = titles[rgenerator.nextInt(titles.length)];
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText(q);
...
}
答案 0 :(得分:1)
首先将您的单词数组转换为arraylist
ArrayList<String> wordsList = new ArrayList<String>(Arrays.asList(titles));
然后创建另一个列表,其中包含已打印的单词
ArrayList<String> usedList = new ArrayList<String>();
然后,当你得到一个单词时,只需将其从wordlist中删除并将其移至usedlist
String s = wordsList.get(rgenerator.nextInt(wordsList.size()));
wordsList.remove(s);
usedList.add(s);