0

我有以下情况:

我有一个包含 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);

    ...

}
4

1 回答 1

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);
于 2013-10-30T14:07:15.740 回答