如何使用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方法中取出。谢谢你的帮助