我使用此方法从数组“_wd_array”中删除一些按钮,但“相等”对我不起作用!
public void remove() {
Button[] removeBtn = {
(Button) findViewById(R.id.char1),
(Button) findViewById(R.id.char2),
(Button) findViewById(R.id.char3),
(Button) findViewById(R.id.char4),
(Button) findViewById(R.id.char5),
(Button) findViewById(R.id.char6),
(Button) findViewById(R.id.char7),
(Button) findViewById(R.id.char8),
(Button) findViewById(R.id.char9),
(Button) findViewById(R.id.char10),
(Button) findViewById(R.id.char11),
(Button) findViewById(R.id.char12) };
for(int i=0;i<12;i++)
{
for(String s:_wd_array)
{
String str=removeBtn[i].getText().toString().toLowerCase();
if( !s.equals(str) )
{
removeBtn[i].setBackgroundColor(Color.CYAN);
removeBtn[i].getBackground().setAlpha(128);
removeBtn[value].setVisibility(View.INVISIBLE);
}
}
}
}
我将_wd_array的内容与按钮的内容进行比较,如果它不相等,我会删除按钮
赞赏任何指针
由于
答案 0 :(得分:0)
String str=removeBtn[i].getText().toString().toLowerCase();
这不应该&#39;得到按钮的文本。应该是getId()这样的东西。
String str=removeBtn[i].getId(); // Maybe it is not String.
答案 1 :(得分:0)
现在有效。
public void removeextras() {
int value = 0;
ArrayList<Integer> list = new ArrayList<Integer>(12);
for (int i = 0; i < 12; i++) {
list.add(i);
}
Collections.shuffle(list);
for (int l=0; l<_wd_array.length; ++l)
{
_wd_array[l] = _wd_array[l].toLowerCase().trim();
}
for(int x=0; x<12;x++) {
if(!list.isEmpty()) value = list.remove(0);
if (!Arrays.asList(_wd_array).contains(
_randomB[value].getText().toString().toLowerCase().trim()))
{
_randomB[value].setVisibility(View.INVISIBLE);
}
}
}