如何使用If else Station Java android重新测试条件

如何使用If else Station Java android重新测试条件,java,android,if-statement,Java,Android,If Statement,我试图根据变量的值设置多个项目的可见性,并且该值在单击按钮时更改。我对这个很陌生 我的代码如下所示: int view = 1; if(view == 1) { Sets a bunch of visibilities} else if(view == 2) {Sets a different set of visibilities} else if(view ==3)...etc 然后,我有一个单击侦听器,它递增变量,我希望它再次运行IF语句 我是一个试图自

我试图根据变量的值设置多个项目的可见性,并且该值在单击按钮时更改。我对这个很陌生

我的代码如下所示:

    int view = 1;

    if(view == 1) { Sets a bunch of visibilities}
    else if(view == 2) {Sets a different set of visibilities}
    else if(view ==3)...etc
然后,我有一个单击侦听器,它递增变量,我希望它再次运行IF语句

我是一个试图自学的黑客,所以只要给我指出正确的方向,不要让你为我编写代码。我相信有更好的方法可以做到这一点,所以只要让我知道要研究什么,我就会做我的家庭作业


谢谢

我不确定您的代码是如何构造的,但这是我将如何编写的,需要在每次单击按钮时重新运行

onClickListener(){
     id++ // Or whatever you need to do to the id value
     codeThatSetsTheView(id)

}

codeThatSetsTheView (int viewId){
    Switch (id)
         case 1: 
             view 1  //Enable the things for view 1 
             break; 
...


}

为什么不使用switch语句而不是300 IF/ELSE语句

switch(view) {
  case 1: // implement code
    break;
  case 2: // implement code
    break;
  .....
}
基本上,您可以使用类成员变量更轻松地处理所有这些内容:

class myClass extends AnotherClass implements View.OnClickListener {
  private static int myVariable;

  public myClass(Context ctx, AttributeSet attr) {
    super(ctx,attr);

    setOnClickListener(this);
  }

  private void mySetterFunction() {
    myVariable = 1; // or set to what ever
  }

  @Override
  public void onClick(View view) {
    switch( myVariable ) {
      case 1: // do code here
        break;
      case 2: // do code here
        break;
      case 3: // do code here
        break;
    }
  }
}

你可以做很多事情。我发现,如果我想多次执行某项操作,最好将这些操作分组到一个函数中。另外,如果您希望在单击某项内容时完成某项工作,这就是onClick侦听器中onClick(View v)函数的作用点


最后一个想法——如果您想多次调用某个对象(比如运行if/else块),请多次调用它。只需根据需要多次调用函数,并在函数调用之间执行逻辑(如递增整数变量)。

为什么不在单击式侦听器中执行该代码?或者让点击式侦听器调用该代码?按钮是左右箭头,因此它们设置的视图取决于变量的值。如何使用点击式侦听器调用该代码?我想我将不得不以不同的方式进行调用,并且可能需要做更多的作业才能继续。我被卡住了,因为我无法在不弄乱findViewById变量的情况下将代码从onCreate方法中取出。谢谢你的帮助