2012-03-20 3 views
0

안녕하세요, xml의 배경을 변경하는 두 개의 스위치가있는 앱을 만들고 있습니다. 사용자가 다음 버튼을 1 ~ 2 건 드리면Double button hit

그러나, 나는 그것이

(두 번째 버튼 히트에) (첫 번째 버튼의 히트에) 다음 (pic4)와을 PIC2에 PIC1의 배경을 변경하고자하지만 사용자는 버튼이 닿을 경우 다음 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

은 아마 그냥 클릭 된 버튼의 ID를 저장하는 변수를 작성해야 클릭합니다. 그런 다음 다음 클릭을 받으면이 변수를 검사하여 시퀀스가 ​​조건과 일치하는지 확인할 수 있습니다. 예를 들어 첫 번째 버튼을 클릭하면 ID가 int lastChecked 변수에 저장되고 두 번째 버튼을 클릭하면 lastChecked이 첫 번째 버튼 ID와 같아야합니다. 맞다면 코드 변경 코드 View을 실행할 수 있습니다. 희망이 도움이됩니다.

+0

감사합니다. 'button'이라는 변수를 만들었고 버튼을 클릭 할 때 변경 한 다음 if 문을 추가하여 큰 효과를 얻었습니다. – user1261404

+0

@ user1261404, 반가워요. – Egor