2016-03-15 50 views
-1

我有布尔人i和'j'。如何在android的onclick方法下分配一个布尔值?

我想只有一个图像“two”被点击的方法。 点击图像“one”后点击图像“2”的其他方法。 请帮忙先生。我有麻烦了。

如何从onclick方法获取返回值。

public class MainActivity extends AppCompatActivity{ 
    boolean I,j; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     final ImageView one=(ImageView) findViewById(R.id.imageView1); 
     final ImageView two=(ImageView) findViewById(R.id.imageView2); 
     i=false; 
      j=false; 
     one.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       i=true; 
      } 
     }); 
      two.setOnclickListener(new View.OnClickListener(){ 
        @Override 
        public void onclick(View v){ 
          j=true; 

         } 

     if (i){ 
      three.setImageResource(R.drawable.green1); 
     } 
      if(j){ 
        three.setImageResourse(R.drawable.red1) 
     } 
      if(I==true&& j==true) 
       three.setImageResoure(R.drawable.yellow1) 
    } 
} 
+0

你想显示按钮点击图像> ?? –

回答

1

你的问题是你不明白你写的代码的流程。

一步一步:

  1. 该应用开始。 i未初始化。
  2. Activity已创建i设置为false。
  3. OnClickListener设置为您的ImageView
  4. if语句被激发来检查i。这是错误的(在这一点上它只能是错误的)。
  5. 在某些时候,您点击ImageViewi变为true。

您可以愉快地将您的two.setImageResource(R.drawable.green1);行移动到onClick(View v)函数的主体中。

因此,它看起来像这样:

one.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     two.setImageResource(R.drawable.green1); 
    } 
}); 
0
one.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     i=true; 
     if (i){ 
     //if you want change vale to false (i = false) 
     two.setImageResource(R.drawable.green1); 
     } 

}); 
+0

请告诉我们更多关于此代码的信息。你提供了一个与问题没有明显联系的答案。虽然这可能是一个很好的答案,但它需要解释,为什么。 – thst

0

刚刚尝试这样的:

public class MainActivity extends AppCompatActivity{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     final ImageView one=(ImageView) findViewById(R.id.imageView1); 
     final ImageView two=(ImageView) findViewById(R.id.imageView2); 
     one.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       two.setImageResource(R.drawable.green1); 
      } 
     }); 
    } 
} 
相关问题