【发布时间】:2017-09-19 11:26:28
【问题描述】:
谁能告诉我如何检查两个数字是否相等? 我正在制作用于练习的记忆游戏。用户单击一个显示一个数字的按钮,然后单击另一个显示第二个数字的按钮。 如何检查这两个数字是否相同,因为如果它们相同,则需要保持可见,如果不相同,则需要再次隐藏。
我的适配器:
package com.example.korisnik.assignment;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import java.util.ArrayList;
import java.util.Collections;
public class ButtonAdapter extends BaseAdapter {
Button[] buttons;
public Context c;
public ButtonAdapter(Context c) {
final ArrayList<Integer> numbers = new ArrayList<Integer>();
for (int i=1; i<=5; i++) {
numbers.add(i);
}
for (int i=1; i<=4; i++) {
numbers.add(i);
}
Collections.shuffle(numbers);
this.c = c;
buttons = new Button[9];
for(int i=0;i<buttons.length;i++) {
final int o = i;
buttons[i] = new Button(c);
buttons[i].setBackgroundResource(R.mipmap.block);
buttons[i].setLayoutParams(new GridView.LayoutParams(300,300));
buttons[i].setTag(0);
buttons[i].setTextSize(20);
buttons[i].setText("X");
buttons[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Button btn = (Button) v;
btn.setText(String.valueOf(numbers.get(o)));
}
});
}
}
@Override
public int getCount() {
return buttons.length;
}
@Override
public Object getItem(int i) {
return buttons[i];
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
return buttons[i];
}
}
【问题讨论】:
-
在您的适配器中添加一个侦听器类,并在单击按钮时传递按钮的值。这样您就可以在单击第二个按钮时比较数字。
标签: android onclick numbers equals buttonclick