Java 如何一直按下按钮直到方法结束

Java 如何一直按下按钮直到方法结束,java,android,Java,Android,我需要一直按下按钮直到方法结束,因为当按钮保持按下状态时,用户不能再次按下 我试着这样做: 创建时: Button btnSend= (Button) findViewById(R.id.btnSend); btnSend.setOnClickListener(onClickbtnSend); 方法: Button.OnClickListener onClickbtnSend= new Button.OnClickListener() { @Override public void

我需要一直按下按钮直到方法结束,因为当按钮保持按下状态时,用户不能再次按下

我试着这样做:

创建时:

Button btnSend= (Button) findViewById(R.id.btnSend);
btnSend.setOnClickListener(onClickbtnSend);
方法:

Button.OnClickListener onClickbtnSend= new Button.OnClickListener() {
   @Override
   public void onClick(View v){
     try{
         v.setPressed(true);

         //do something ......     

     } catch(Exception e){
       e.printStackTrace();
     }
   v.setPressed(false);
}
Button.OnClickListener onClickbtnSend= new Button.OnClickListener() {
  @Override
  public void onClick(View v){

    if(pressionado){
      return;
    }

    pressionado = true;

    try{
        //do something background in task

    } catch(Exception e){
       e.printStackTrace();
        pressionado = false;
    }
}

有人知道吗?谢谢

您可能需要使用切换按钮,因为您的按钮似乎有两种状态(忙或不忙)。

我找到了以下解决方案:

在开始创建之前:

private boolean pressionado = false;
方法:

Button.OnClickListener onClickbtnSend= new Button.OnClickListener() {
   @Override
   public void onClick(View v){
     try{
         v.setPressed(true);

         //do something ......     

     } catch(Exception e){
       e.printStackTrace();
     }
   v.setPressed(false);
}
Button.OnClickListener onClickbtnSend= new Button.OnClickListener() {
  @Override
  public void onClick(View v){

    if(pressionado){
      return;
    }

    pressionado = true;

    try{
        //do something background in task

    } catch(Exception e){
       e.printStackTrace();
        pressionado = false;
    }
}

我不知道这是否是更好的解决方案,但对我来说很有效。

通常的做法是禁用/启用按钮。我建议调查一下。
//做点什么
是一项背景任务吗?如果不是,那么你不需要这样的东西。原因是在方法完成之前不会再次调用
onClick
(因为UI被阻止)。这是android的默认行为。请澄清现在出了什么问题首先,谢谢你的帮助。。所以Amulya Khare,这是后台任务。Amulya Khare,我只需要在单击的那一刻,按钮保持按下直到方法结束。请发布完整的方法。看看你的代码,我可以很快帮你解决问题。谢谢你,弗兰克,但这个组件不适用于我的情况。