2013-06-16 3 views
0

나는 다음과 같은 방법을 사용하려면 내 activity..i 12 개 버튼이 있습니다한 번에

두 버튼을 한 번 클릭 할 수 있어야하고 두 다음을 클릭 할 때

수행 할 작업 몇 개 ...이 작업이 성공하면이 두 버튼이 "보이지 않아야"하고이 작업이 실패하면 12 개의 버튼 중 하나를 클릭하는 옵션이 다시 나타납니다.

이 액티비티의 레이아웃과 모든 12 개의 버튼을 설정했습니다. 모든 버튼에 대해 onClick 메서드도 설정했습니다.

[ADDITION]

제가 두 아웃 십이 버튼 버튼 모두의 출력들은 동일 compared..if 것이 이후의 them..and once..any 두에서 눌러 허용 의미 다음 버튼을

가 이

[CODE]

button1.setOnClickListener(new View.OnClickListener() { 
public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    RotateAnimation rotate = new RotateAnimation(0,90); 
rotate.setFillAfter(true); 
button1.startAnimation(rotate); 

Random r = new Random(); 
int next = r.nextInt(5) + 1; 
imgV1.setImageResource(images[next]); //imageView1 is given a random image 

AlphaAnimation alpha = new AlphaAnimation(0,1); 
alpha.setFillAfter(true); 
imgV1.startAnimation(alpha); 
arg0.clearAnimation(); 
}}); 

imgV1.setOnClickListener(new View.OnClickListener() { 
public void onClick(View arg0) { 
// TODO Auto-generated method stub 
AlphaAnimation alpha = new AlphaAnimation(1,0); 
alpha.setFillAfter(true); 
imgV1.startAnimation(alpha); 

RotateAnimation rotate = new RotateAnimation(90,0); 
rotate.setFillAfter(true); 
button1.startAnimation(rotate); 
arg0.clearAnimation(); 
}}); 

버튼 클릭이 임의의 image..image 클릭을 제공가 있습니다 .. 그들은 여전히 ​​거기에 다시 한 번 사용자가이 개 버튼을 클릭 할 수있는 기회를 얻을 수 있습니다 다른 보이지 않는 button back..now 두 개의 버튼을 클릭 할 때 그걸 원한다면 그들이 동일한 이미지를 가지고 있다면 그들은 모두 보이지 않게됩니다. 그들은 버튼으로 다시 돌아가서 두 버튼 중 하나를 다시 클릭 할 수 있습니다.

각 버튼에는 레이아웃의 뒤쪽에 imageView가 있습니다.

+0

명확하게 설명해 드리겠습니다. 버튼은 b1, b2, b3..b12로 지정합니다. 자, 뭘 원하는거야? 두 손가락으로 한 번에 b2 & b5를 누르거나 b1을 누르면 한 번 더 버튼을 눌러 동작을 완료해야합니까? – Nizam

+0

첫 번째 버튼을 누른 후 다른 버튼을 누릅니다. 두 번째 옵션은 –

+0

입니다. 첫 번째 버튼을 누를 때 true로 설정할 수 있고, 다음 번 버튼을 누를 때, flag가 설정되면 true로 설정할 수 있습니다. compare/당신의 논리를 처리하십시오. 처리가 끝나면 플래그를 false로 설정하고 결과에 따라 버튼 가시성을 설정합니다. 간단! – surender8388

답변

0

K .. 이제 알았습니다. 따라서 Drawable에는 6 개의 이미지가 있습니다. 여기에 우리가 간다 ..

6 이미지의 ID를 저장하기 위해 크기 12의 정수 배열을 만듭니다. int[] images={R.drawable.img1,...}; 또한 Button firstClick;Drawable back; 첫 번째 클릭 한 버튼을 알고 있습니다. 이제 Google의 onClick은 다음과 같습니다.

findViewById(R.id.button1).setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     if(count<2){// means first click 
firstClick=(Button)v; 
back=v.getBackground(); 
       action=images[0];// button1 pressed so index 0 
v.setBackgroundResource(action); 
v.setEnabled(false); 
       count++; 
      } 
      else{//second click 
       count=0; 
       if(action==images[0]){ 
v.setBackgroundResource(action); 
v.setEnabled(false); 

}else{ 
v.setBackgroundDrawable(back); //roll back to old background 

firstClick.setBackgroundDrawable(back); 

} 

     } 
    } 
}); 
+0

이미지가 배경으로 사용되지 않습니다. 이미지가 표시되는 모든 버튼 뒤의 이미지보기 .. 쉽게 이해할 수있는 버튼 하나를 추가하십시오. –

+0

그게 전부입니다. 그런 다음 버튼과 이미지 뷰를 '가시성'과 '활성화'로 변경합니다. – Nizam

+0

하지만 두 개의 이미지보기 이미지를 비교하려면 어떻게해야합니까? –

0

setVisibility()보기의 방법 (버튼)을 사용하여 표시 여부를 설정하거나 해제 할 수 있습니다.

Button b = (Button)findViewById(R.id.button1); 
b.setVisibility(b.INVISIBLE); 
b.setVisibility(b.VISIBLE); 
+0

이것은 가시성을 설정할 것입니다 만, 두 개의 버튼을 누른 후에 만 ​​이러한 종류의 동작이 일어난다면 ... 12 개의 버튼 중 2 개만 누르면 즉시 누르는 것이 가능합니다. 두 버튼의 출력을 비교합니다. 버튼이 동일하면 버튼이 보이지 않습니다. 다른 버튼은 계속 클릭하고 두 번 버튼을 클릭 할 수있는 기회를 갖습니다. –

+1

처음에는 10 개의 버튼 중 하나를 설정하십시오 '시야 꺼짐, 두 사람의 시야 중 나머지는 2 개의 보이는 단추의 onClickListener에서는 원하는 단추를 비교하고 다른 단추의 가시성을 변경할 수 있습니다 –

0

내가 좋아하는 것입니다 생각 논리,

당신은 세계적으로 손에 두 개의 변수가 있어야합니다.

버튼 클릭 수는 1이고 첫 번째 클릭 동작 (앱 기준)은 2입니다.

전 세계 변수로 int action=0,count=0;을 사용하고 있습니다.

findViewById(R.id.button1).setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      if(count<2){// means first click 
       action=1;// button1 pressed 
       count++; 
      } 
      else{//second click 
       count=0; 
       //Here perform your action and based upon it, set visibility. Previous click is available in 'action' 

      } 
     } 
    }); 

모든 버튼 클릭에 대해이를 반복하십시오. 그게 전부 야. 행동을 취하고 가시성을 설정하기 위해 자신의 메서드를 호출하는 것이 좋습니다.

+0

형제 님의 논리가 매우 유용합니다. 내 문제를 해결했지만 나에게 또 다른 하나를 만들었습니다. 실제로 우리가 Windows 98에서 사용했던 블록 게임을 디자인하고 있습니다.이 게임에는 총 12 개의 버튼이 있습니다. 버튼을 클릭하면 이미지가 나타납니다. 다른 버튼을 클릭해도 이미지가 나타납니다. 이 두 이미지가 동일하면 버튼과 imageView가 모두 사라집니다. 이미지가 버튼으로 돌아가며 다시 버튼을 클릭 할 수 있습니다. –