這裏是虛擬的。我想做一個紙牌遊戲,你猜第一張牌是紅色還是黑色。如果你得到了正確的結果,你就可以猜出第二張牌......等等。我無法讓第二張牌觸發。介意看看?這應該很容易,而且我必須有一種比我嘗試的愚蠢,不成功的方式更簡單的方法。取決於'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;
}
生成下一張卡並處理點擊應該以遞歸方式調用成功 –