修订背景图像比较

时间:2013-10-08 15:16:12

标签: java android

我知道聪明的人不会喜欢我的小问题,但我正在努力学习

我,我试图制作一对配对游戏我到目前为止一直在使用我的应用程序,但这个游戏需要一种不同的方法我已经创建了具有整数的配对游戏但令人困惑的代码和推动相同按钮两次的地板将删除对如下所示我一直在尝试使用标签,代码看起来都很干净,没有错误

 public class MainActivity extends Activity {
//added Tag here for the if (pic2.getTag()==(beck)); 
 Tag beck;
 @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

final ImageButton pic1 = (ImageButton )     findViewById(R.id.imageButton1);         
final ImageButton pic2 = (ImageButton )     findViewById(R.id.imageButton2); 

     pic1.setOnClickListener(new View.OnClickListener()       { 
 public void onClick(View v) {  
     pic1.setBackgroundResource(R.drawable.becks);
     pic1.setTag(R.drawable.becks);
 if (pic2.getTag() == pic1.getTag()){            
     pic1.setVisibility(View.INVISIBLE);
     pic2.setVisibility(View.INVISIBLE);}     
    }});    

     pic2.setOnClickListener(new View.OnClickListener() {                            
 public void onClick(View v) {       
     pic2.setBackgroundResource(R.drawable.becks);
     pic2.setTag(R.drawable.becks);

     if (pic1.getTag() == pic2.getTag()){
    pic1.setVisibility(View.INVISIBLE);
     pic2.setVisibility(View.INVISIBLE); 
    }
    }});    
    }}

我试过自从我原来的帖子找出如何做我已经显示的2个按钮的代码我想要做的是比较并在点击第二个按钮后隐藏

if (pic1.getTag().equals(pic2.getTag())){
    pic1.setVisibility(View.INVISIBLE);
     pic2.setVisibility(View.INVISIBLE); }

.equals崩溃了应用

     pic1.setOnClickListener(new View.OnClickListener()  {  
  public void onClick(View v) {  
     pic1.setBackgroundResource(R.drawable.becks);
     pic1.setTag(beck);
 if (pic2.getTag()==(beck));{            
     pic1.setVisibility(View.INVISIBLE);
     pic2.setVisibility(View.INVISIBLE);}     
     }});       

这可以使用或不使用半按钮,但是当按下任一按钮时,两个按钮都会消失

if (pic1.getTag()==(pic2.getTag())){
    pic1.setVisibility(View.INVISIBLE);
     pic2.setVisibility(View.INVISIBLE); }

这会改变图像,但是如果可能的话,当第二张图像点击试图不使用整数时,按钮会消失,

此行与逗号一起使用

 if (pic1.getTag()==(pic2.getTag()))
 if (pic1.getTag()==(pic2.getTag()));

两个按钮的效果消失,只要点击任一按钮就会移动到其他地方,如果lol 如果这对图像比较错误,也可以删除标签,例如 如果不匹配则删除按钮标签并将所有剩余图像重置为默认图像,因为当我将所有24个按钮放在i上时我需要重置方法 我,在if语句末尾找到半冒号有不同的效果,没有人可以指出正确的方式何时何时不使用半冒号

1 个答案:

答案 0 :(得分:1)

使用标签保存您的图片ID:

pic1.setTag(R.drawable.becks);
pic2.setTag(R.drawable.becks);

然后,您可以通过在已点击的按钮上调用getTag()来检查和比较这些内容:

public boolean isMatch(View x, View y) {
  return x.getTag() == y.getTag();
}