我有一个问题,每当我按下图像时,我的价值不会增加或减少。我已经尝试了很多方法,但检索的值仍然等于1或-1。我能做些什么来制作价值,让我们说'z'来保持价值。这就像加减。这是代码。
public void onClick(View v)
{
switch(v.getId()){
case R.id.oneImgView:
images[0].setVisibility(View.GONE);
images[1].setVisibility(View.VISIBLE);
if(images[0].getVisibility() == View.GONE)
{
setValue(1);
}
display();
break;
case R.id.twoImgView:
images[1].setVisibility(View.GONE);
images[0].setVisibility(View.VISIBLE);
if(images[1].getVisibility() == View.GONE)
{
setValue(-1);
}
display();
break;
case R.id.threeImgView:
images[2].setVisibility(View.GONE);
if(images[2].getVisibility() == View.GONE)
{
setValue(1);
}
images[3].setVisibility(View.VISIBLE);
display();
break;
case R.id.fourImgView:
images[3].setVisibility(View.GONE);
if(images[3].getVisibility() == View.GONE)
{
setValue(-1);
}
images[2].setVisibility(View.VISIBLE);
display();
break;
}
}
public void display()
{
int z =+ getValue();
tView.setText(""+z);
}
public int getValue() {
x=value;
return x;
}
public void setValue(int value) {
this.value = value;
}
}
答案 0 :(得分:1)
像Monsur Hossain Ton说你应该首先把z作为一个全局变量,事实上如果你不把它全局化它是本地的,每次你进入显示它是一个新的变量,创造所以没有与过去的联系。如果你做一个全局变量。 对于此示例,我将z的值设置为0以开始。 顺便说一下,你不需要在temp变量中传递这个getValue()值,你可以直接从值中获取它,这将更容易。
int z = 0;
public void onClick(View v)
{
switch(v.getId())
{
case R.id.oneImgView:
images[0].setVisibility(View.GONE);
images[1].setVisibility(View.VISIBLE);
setValueAndDisplay(1);
break;
case R.id.twoImgView:
images[1].setVisibility(View.GONE);
images[0].setVisibility(View.VISIBLE);
setValueAndDisplay(-1);
break;
case R.id.threeImgView:
images[2].setVisibility(View.GONE);
images[3].setVisibility(View.VISIBLE);
setValueAndDisplay(1);
break;
case R.id.fourImgView:
images[3].setVisibility(View.GONE);
images[2].setVisibility(View.VISIBLE);
setValueAndDisplay(-1);
break;
}
}
public void setValueAndDisplay(int value)
{
this.value = value;
display();
}
public void display()
{
z += value;
tView.setText(""+z);
}
答案 1 :(得分:0)
make z global
int z;
public void display()
{
z =+ getValue();
tView.setText(""+z);
}