代码参考:WordButton wordButton = null;
Random random = new Random();
int index = random.nextInt(mAllWordList.size());
wordButton = mAllWordList.get(index);
if (mCurrentSong.getSongName().contains(wordButton.getContent())) {
// 是答案
findNoAnswerWordButton();
}
return wordButton;
Random random = new Random();
int index = random.nextInt(mAllWordList.size());
wordButton = mAllWordList.get(index);
if (mCurrentSong.getSongName().contains(wordButton.getContent())) {
// 是答案
findNoAnswerWordButton();
}
return wordButton;
2015-05-18
点击已选框的事件处理最好不要直接调用clearTheAnswer()方法,应该做个答案框文字非空串判断,要不然当答案框没有文字时,点击答案框文本按钮还是会执行clearTheAnswer()方法,虽然执行后不影响效果,但显然不应该去作无谓的clearTheAnwer操作,
代码建议:if(!"".equals(wordButton.mWordString)){clearTheAnswer(wordButton)}
代码建议:if(!"".equals(wordButton.mWordString)){clearTheAnswer(wordButton)}
2015-05-17
加了个判断,让随机生成的文字与已经生成的文字进行判断,确保随机生成的汉字不重复,不过这概论好小
//获取随机文字并存入数组
for (int i = mCurrentSong.getNameLength(); i < MyGridView.COUNTS_WORDS; i++) {
for (int j = 0; j < i; j++) {
if ((getRandomChar()+"").equals(words[j])) {
i--;
}else {
words[i]=getRandomChar()+"";
}
}
}
//获取随机文字并存入数组
for (int i = mCurrentSong.getNameLength(); i < MyGridView.COUNTS_WORDS; i++) {
for (int j = 0; j < i; j++) {
if ((getRandomChar()+"").equals(words[j])) {
i--;
}else {
words[i]=getRandomChar()+"";
}
}
}
2015-05-15
最新回答 / android1111
首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个元素与第二个交换,知道最后一个元素。这样能够确保每个元素在每个位置的概率都是1/n.首先24个中随机一个位置出来, 可能是0到24.所以第一个元素的下标可能是24个中的任意一个,以此类推。当然你换到后面去的元素也有可能再换回到前面来。 不用太纠结,只知道这样能打乱顺序,实现你要的功能就行。
2015-05-15
最新回答 / C是什么
你的Button控件为null,没有实例化成功,new 出来自定义的那个不是Button那个是自定义的holder类,根本没有继承Button, Button控件应该通过缓存View中的findViewById方法来实例化。
2015-05-13