我正在尝试在按钮上应用一个功能,当我第一次按下时,Function1
在imageView2中显示图像,当我们再次按下它时(第二次),然后Function2
显示其他图像(替换在imageView2中的Function1)的图像,为此我尝试下面的逻辑,但它只适用于(count == 1)。
private int count = 0;
Button button= (Button) findViewById(R.id.NextButton);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (count==1)
{
grayimg(bmInImg.getHeight(),bmInImg.getWidth(), mPhotoIntArray, mCannyOutArray);
Bitmap bmOutImg = Bitmap.createBitmap(bmInImg.getWidth(), bmInImg.getHeight(), Config.ARGB_8888);
bmOutImg.setPixels(mCannyOutArray, 0, bmInImg.getWidth(), 0, 0, bmInImg.getWidth(), bmInImg.getHeight());
imageview_2.setImageBitmap(bmOutImg);
}
else if(count==2)
{
grayimg_2(bmInImg.getHeight(),bmInImg.getWidth(), mPhotoIntArray, mCannyOutArray);
Bitmap bmOutImg = Bitmap.createBitmap(bmInImg.getWidth(), bmInImg.getHeight(), Config.ARGB_8888);
bmOutImg.setPixels(mCannyOutArray, 0, bmInImg.getWidth(), 0, 0, bmInImg.getWidth(), bmInImg.getHeight());
imageview_2.setImageBitmap(bmOutImg);
}
else if(count==3)
{
grayimg_3(bmInImg.getHeight(),bmInImg.getWidth(), mPhotoIntArray, mCannyOutArray);
Bitmap bmOutImg = Bitmap.createBitmap(bmInImg.getWidth(), bmInImg.getHeight(), Config.ARGB_8888);
bmOutImg.setPixels(mCannyOutArray, 0, bmInImg.getWidth(), 0, 0, bmInImg.getWidth(), bmInImg.getHeight());
imageview_2.setImageBitmap(bmOutImg);
}
count++;
}
});
答案 0 :(得分:0)
做这样的事情 -
Button button= (Button) findViewById(R.id.NextButton);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (imageView1.getVisibility() == View.VISIBLE) {
imageView1..setVisibility(View.INVISIBLE);
imageView2..setVisibility(View.VISIBLE);
}
else
{
imageView1..setVisibility(View.VISIBLE);
imageView2..setVisibility(View.INVISIBLE);
}
}
});
答案 1 :(得分:0)
设置以下
private int count = 1;
第一次按下按钮count = 0并且不输入if if或else if block并且递增到count = 1然后如果执行了block则再次按下。
如果您想要交替效果,请执行以下操作
private boolean chk = true;
Button button= (Button) findViewById(R.id.NextButton);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (chk)
{
// Function1
}
else
{
// Function2
}
chk = !chk;
}
});
答案 2 :(得分:0)
这将有效
private int count = 0;
Button button= (Button) findViewById(R.id.NextButton);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if ((count%2) == 0)
{
// Function2
}
else
{
// Function1
}
count++;
}
});
如果是偶数,则计数%2计算为零,否则计数为奇数。现在你可以相应地调用函数了......