双击按钮

时间:2012-03-20 21:25:37

标签: android eclipse button

嘿我正在创建一个带有两个开关的应用程序,它可以改变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之间交替

1 个答案:

答案 0 :(得分:1)

您可能需要创建一个变量来存储刚刚单击的按钮的ID。然后,当您收到下一次单击时,您可以检查此变量以了解序列是否符合您的条件。例如,如果单击第一个按钮 - 将其ID存储在int lastChecked变量中,则单击第二个按钮时,您应该lastChecked是否等于第一个按钮ID。如果是 - 那么您可以运行View更改代码。希望这会有所帮助。