嘿我正在创建一个带有两个开关的应用程序,它可以改变xml的背景。
然而,如果用户触摸按钮1然后2我希望它将背景从pic1更改为pic2(在第一个按钮点击时)然后pic4(在第二个按钮点击时)
但是如果用户触摸按钮2然后1我希望它将背景从pic1更改为pic3(在第一个按钮点击时)然后pic4(在第二个按钮点击时)
目前这是我的剧本;
package com.jamie.game;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class level2 extends Activity implements OnClickListener{
Button button1;
View targetView;
Button button2;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.level2);
targetView = (View)findViewById(R.id.level2);
button1 = (Button) findViewById(R.id.button1);
button1.setVisibility(View.VISIBLE);
button1.setBackgroundColor(Color.TRANSPARENT);
button1.setOnClickListener((android.view.View.OnClickListener)this);
button2 = (Button) findViewById(R.id.button2);
button2.setVisibility(View.VISIBLE);
button2.setBackgroundColor(Color.TRANSPARENT);
button2.setOnClickListener((android.view.View.OnClickListener)this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId()==(R.id.button1)){
targetView.setBackgroundResource(R.drawable.pic2);
if(v.getId()==(R.id.button2)){
targetView.setBackgroundResource(R.drawable.pic4);
}else
if(v.getId()==(R.id.button2)){
targetView.setBackgroundResource(R.drawable.pic3);
if(v.getId()==(R.id.button2)){
targetView.setBackgroundResource(R.drawable.pic4);
}
}
}
但所有这一切都是在按钮点击时在pic2和pic3之间交替
答案 0 :(得分:1)
您可能需要创建一个变量来存储刚刚单击的按钮的ID。然后,当您收到下一次单击时,您可以检查此变量以了解序列是否符合您的条件。例如,如果单击第一个按钮 - 将其ID存储在int lastChecked
变量中,则单击第二个按钮时,您应该lastChecked
是否等于第一个按钮ID。如果是 - 那么您可以运行View
更改代码。希望这会有所帮助。