2015-04-28 69 views
-2

我做了一個有趣的計算器,當一個不同的代碼是在這個職位:
Start of activity not working Java按鈕點擊後一個事件,並按下

我有許多按鈕在我的計算器,其中之一是一個按鈕,我想用來清除文本框中的文本的最後一個字符,當我點擊時,當我按下它多於x秒我希望它清除所有文本。

我搜索了很多帖子,我瞭解到,使用處理器的OnTouch方法適用於那些被按下的事情,但我怎麼能實現兩件事對我的按鈕?

在此先感謝您的答案!

UPDATE

我用的onclick監聽器和監聽OnLongClick和它的作品正是我想要的!

+0

明確的最後一個字符,並清除所有文字onlongclick按鈕。 – Android

+0

謝謝,它的工作原理! – Nmaster88

+0

最受歡迎:) – Android

回答

2

你只是想設置一個View.OnClickListener和View.OnLongClickListener,像這樣:TextView中的onclick按鈕...的

mButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String s = mEditText.getText().toString(); 
      if (s != null && s.length() > 0) { 
       mEditText.setText(s.substring(0, s.length()-1)); 
      } 
     } 
    }); 
    mButton.setOnLongClickListener(new View.OnLongClickListener() { 
     @Override 
     public boolean onLongClick(View v) { 
      mEditText.setText(""); 
      return true; 
     } 
    }); 
+0

這解決了這個問題。謝謝! – Nmaster88

0
btn.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      // 
     } 
    }); 
btn.setOnLongClickListener(new View.OnLongClickListener() { 

       @Override 
       public boolean onLongClick(View v) { 
        // 
        return true; 
       } 
      }); 
1

這樣做:

Button myClearButton; 

    //After doing myClearButton = findViewById(int id) or other methods of getting your button call this method: 

    setClearButtonClickListeners(){ 
    myClearButton.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        clearLastChar(); 
       } 
      }); 

    myClearButton.setOnLongClickListener(new View.OnLongClickListener() { 
       @Override 
       public boolean onLongClick(View view) { 
        clearAllChars(); 
        return true; 
       } 
      }); 
} 

只需實現clearLastChar()和clearAllChars()方法;

1
clearButton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

         clear(); 

      Toast.makeText(HomeSafeActivity.this, "Normal Press", Toast.LENGTH_LONG).show(); 

     }); 


clearButton.setOnLongClickListener(new View.OnLongClickListener() { 
      @Override 
      public boolean onLongClick(View v) { 
       Toast.makeText(HomeSafeActivity.this, "Long preess", Toast.LENGTH_LONG).show(); 

    yourEditText.setText(""); 
       return true; 
      } 
     }); 



public void clear(){ 

    Editable editableText = yourEditText.getEditableText(); 
       int length = editableText.length(); 
       if (length > 0) { 
        editableText.delete(length - 1, length); 
       } 
} 
相關問題