这里是虚拟的。我想做一个纸牌游戏,你猜第一张牌是红色还是黑色。如果你得到了正确的结果,你就可以猜出第二张牌......等等。我无法让第二张牌触发。介意看看?这应该很容易,而且我必须有一种比我尝试的愚蠢,不成功的方式更简单的方法。取决于'If'功能的按钮
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
redButton = (Button) findViewById(R.id.redbutton);
blackButton = (Button) findViewById(R.id.blackbutton);
card1 = (ImageView) findViewById(R.id.card1);
card2 = (ImageView) findViewById(R.id.card2);
int value1 = randomValue();
TextView order = (TextView) findViewById(R.id.order);
//Card 1, does work
if (order.getText().toString().contains("Guess to Start!")||order.getText().toString().contains("Drink!")) {
redButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView order = (TextView) findViewById(R.id.order);
int value1 = randomValue();
if (value1 == 1) {
int res1 = getResources().getIdentifier("red", "drawable", "com.pjproductions.speedbump");
card1.setImageResource(res1);
order.setText("Correct!");
} else {
int res2 = getResources().getIdentifier("black", "drawable", "com.pjproductions.speedbump");
card1.setImageResource(res2);
order.setText("Drink!");
}}});
blackButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int value1 = randomValue();
TextView order = (TextView) findViewById(R.id.order);
if (value1 == 1) {
int res1 = getResources().getIdentifier("red", "drawable", "com.pjproductions.speedbump");
card1.setImageResource(res1);
order.setText("Drink!");
} else {
int res2 = getResources().getIdentifier("black", "drawable", "com.pjproductions.speedbump");
card1.setImageResource(res2);
order.setText("Correct!");
}}});
}
//Card 2 starts here; doesn't work
if (order.getText().toString().contains("Correct!")) {
redButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView order = (TextView) findViewById(R.id.order);
int value1 = randomValue();
if (value1 == 1) {
int res1 = getResources().getIdentifier("red", "drawable", "com.pjproductions.speedbump");
card2.setImageResource(res1);
order.setText("Correct!");
} else {
int res2 = getResources().getIdentifier("black", "drawable", "com.pjproductions.speedbump");
card2.setImageResource(res2);
order.setText("Drink!");
}}});
blackButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int value1 = randomValue();
TextView order = (TextView) findViewById(R.id.order);
if (value1 == 1) {
int res1 = getResources().getIdentifier("red", "drawable", "com.pjproductions.speedbump");
card2.setImageResource(res1);
order.setText("Drink!");
} else {
int res2 = getResources().getIdentifier("black", "drawable", "com.pjproductions.speedbump");
card2.setImageResource(res2);
order.setText("Correct!");
}}});
}
}
public static int randomValue() {
return RANDOM.nextInt(2) + 1;
}
生成下一张卡并处理点击应该以递归方式调用成功 –