gpt4 book ai didi

java - 如何防止方法被调用两次?

转载 作者:行者123 更新时间:2023-11-30 11:18:26 24 4
gpt4 key购买 nike

我想以编程方式检查函数是否被调用。如果之前调用过,则不允许并忽略第二次调用,如果没有则让按钮调用。为什么我需要这样做是因为我有一个 longClick 按钮来运行某些功能,如果用户忘记这样做,那么用户将单击另一个按钮,我将放置相同的功能。我需要防止两次运行相同的功能。

public class ActivityA extends Activity{

private static boolean isScreenShotTaken = false;

blankcard.setOnLongClickListener(new OnLongClickListener() {

if(!isScreenShotTaken)
{
Bitmap bitmap = takeScreenshot();
saveBitmap(bitmap);
isScreenShotTaken = true;

}

return false;
}
});



btnsend.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

Intent intent = new Intent(Templates.this, MailCard.class);
intent.putExtra("name", Name);

if(!isScreenShotTaken)
{
Bitmap bitmap = takeScreenshot();
saveBitmap(bitmap);
isScreenShotTaken = true;
}

startActivity(intent);

}
});


public Bitmap takeScreenshot() {

// code exist here
//if called once, second call ignore

}

public void saveBitmap(Bitmap bitmap) {

// code exist here
//if called once, second call ignore

}
}

感谢您的建议。

最佳答案

我的版本:

我会这样写:

// In the declaration section of your class.
private static boolean isScreenShotTaken = false;

// In the code.
btnsend.setOnClickListener
(
new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if(!isScreenShotTaken)
{
Bitmap bitmap = takeScreenshot();
saveBitmap(bitmap);
isScreenShotTaken = true;
}
}
}
);

blankcard.setOnLongClickListener
(
new OnLongClickListener()
{
@Override
public boolean onLongClick(View arg0)
{
if(!isScreenShotTaken)
{
Bitmap bitmap = takeScreenshot();
saveBitmap(bitmap);
isScreenShotTaken = true;
}
}
}
);

关于java - 如何防止方法被调用两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23867391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com